簡體   English   中英

在兩個不同服務器中生成的報告之間的差異

[英]Difference between reports generated in two different servers

我偶然發現了一個奇怪的問題,其中在一台服務器上生成的同一報告與另一台服務器上生成的報告不同。

部署的程序包(WAR文件)是相同的,我檢查了事件的MD5。 相同的數據用於生成報告,因此與應用程序本身沒有區別。

我研究了Java版本,按預期生成報告的版本使用Oracle JVM 1.7,而生成奇怪格式的報告的版本使用OpenJDK。

我想這應該是問題所在嗎? 在這種情況下,我還能檢查什么以發現問題?

我已經檢查過的東西是:

  • 戰爭文件部署到兩台服務器;
  • 兩台服務器上安裝的字體相同;
  • 兩個服務器的版本(正確的一個正在apache-tomcat-7.0.28上運行,而奇怪的一個正在apache-tomcat-7.0.29上運行);
  • 庫的屬性和版本;

在報告中,我有一些合理的字段,這些字段經過拉伸,換行符位於非常奇怪的位置。

在此處輸入圖片說明

例如,藍色區域應顯示2行,但顯示3行,第二個是字母間距較大的單詞,而第三個是僅一個單詞應位於第二行的單詞。 綠色區域顯示2行,這很好,但最后一行將單詞與整個行對齊,從而增加了字母之間的間隔。

我重新檢查所有配置和組件,結果如下:

  • 將本地tomcat升級到7.0.29並沒有解決問題。
  • 配置的字體完全相同;
  • 視覺上導致兩個PDF文件的字體相同;
  • 沒有從JR輸出的日志表明可能丟失/錯誤;
  • war文件(部署包)相同(lib相同);
  • 服務器配置相同;

缺少的是更改JVM,並且確實將JVM從OpenJDK 1.6.0-b09更改為Oracle JVM 1.7.0_25-b15可以解決此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM