繁体   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