解决PJA错误
现场有WAS5、6,均安装在AIX下,且都已经设置PJA,在WAS5上报表正常,但是在WAS6下报表会报错,两个应用下的配置均相同。
反馈的报错日志:
[11-4-25 14:20:42:758 GMT+08:00] 0000002a WebApp [Servlet Error]-[com_icss_rqtool_app_province_servlet_AppReportServlet]: java.lang.AbstractMethodError: sun/java2d/SunGraphicsEnvironment.createFontConfiguration()Lsun/awt/FontConfiguration;
问题解决方案:
错误原因分析:
根据客户反馈的信息,初步判断,这个可能是因为字体原因引起的错误,并且客户反馈这两个应用服务器的软件配置均相同,那么差别可能在于WAS5使用JDK1.4而WAS6使用JDK1.5,基于上面两点原因,我们有理由怀疑问题出现在JDK的版本差别上。
经过与之前接手该项目的售后确认,该客户使用了润乾的PJA方案,并且使用的PJA版本为2.5。
解决方案:
在网上查找了一些类似错误信息,终于有点眉目了,在国外的一个论坛中找到了一些原因解释,如下:
目前已经使用的渲染图像的PJA工具包的最新版本(2.5)是针对JDK 1.4.2版本的开源插件,没有问题。JDK 由1.4.x versions升级至JDK 1.5版本,由于升级,原有JDK1.4方法不能再渲染图像,现在生成以下AbstractMethodError消息;“JDK
1.5中现在有一个概念“字体配置“(而不是只是“在JDK 1.4.x的字体属性“)在java.awt.SunGraphicsEnvironment,他们已经增加了两个新的抽象方法重写。该版PJA实现了在PJAGraphicsEnvironment后一种方法。现在的JDK
1.5已经成为成为一个内部类的PropertiesHandler这本身就是一个新的静态内部类FontProperties
FontConfiguration类。
综上所述,也就是JDK的升级导致原有的类方法改变了,但是与JDK1.4版本对应的PJA2.5
PJAGraphicsEnvironment方法需要createFontConfiguration实现,所以找到相应与JDK1.5对应的开源PJA版本即可。
在网上下载最新的PJA包,给客户更新,经过测试,该问题解决。
解决PJA错误的更多相关文章
- 解决ORA-00020错误
解决ORA-00020错误 分类: Oracle2009-05-13 17:26 3398人阅读 评论(0) 收藏 举报 数据库sessionoraclesql服务器object 项目上使用的Orac ...
- 如何解决Ora-04031错误(转)
诊断并解决ORA-04031 错误 当我们在共享池中试图分配大片的连续内存失败的时候,Oracle首先清除池中当前没使用的所有对象,使空闲内存块合并.如果仍然没有足够大单个的大块内存满足请求,就会产生 ...
- 解决:错误的语法:”XXXX“必须是批处理中仅有的语句
原文:解决:错误的语法:”XXXX“必须是批处理中仅有的语句 SQL Server 数据库提示“错误的语法:”XXXX“必须是批处理中仅有的语句”报错的原因分析 解析:批处理必须以 CREATE ...
- Maven解决NoPluginFoundForPrefixException错误
Maven解决NoPluginFoundForPrefixException错误方法 错误出现的原因 你指的是一个不存在的插件,如由于错误的前缀. 您使用的是第三方的Maven插件没有部署到中央Mav ...
- Android Studio 错误: 非法字符: '\ufeff' 解决方式|错误: 须要class, interface或enum
在导入eclipse项目到Android Studio出现这种错误, 非法字符: '\ufeff' 解决方式|错误: 须要class, interface或enum.查阅后了解到Eclipse能够智能 ...
- 诊断并解决 ORA-4030 错误 (Doc ID 1548826.1)
适用于: Oracle Database - Enterprise Edition - 版本号 8.1.7.4 和更高版本号 本文档所含信息适用于全部平台 用途 怎样诊断 ORA-4030 错误 排错 ...
- php - 如何解决CURL错误( 7 ): 无法连接到主机?
php - 如何解决CURL错误( 7 ): 无法连接到主机? 1. 问题描述 调用第三方接口,本地调用一切ok,线上调用失败! 本地通过curLRequest()方法调用第三方接口时,curl_er ...
- 解决bind错误 bind: Address already in use
关于bind错误的处理: bind: Address already in use 原因: 操作系统没有立即释放端口 解决一: 等待一段时间运行网络程序即可 解决二:通过setsockopt进行设置, ...
- magento -- 解决magento错误:ERROR: Base table or view already exists: 1050 Table ... already exists
相信有更新magento或者,备份转移magento站点的时候可能会碰到类似这样的错误提示: Base table or view already exists: 1050 Table ... alr ...
随机推荐
- 直接插入排序实现(Java)
直接插入排序介绍 直接插入排序的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的.记录数增1的有序表. 怎么理解呢?就是将n个待排序的元素看成一个有序表和一个无序表,开始时有序 ...
- 如何解决jade标签没有闭合,如input
最近用jade模板引擎编写html时发现input编译输出为<input>,而我想要的效果为<input/>, 如何解决呢,这时我们可以这样写: input/ ---& ...
- OpenGL-非实时渲染与实时混合使用(有图有真相)
视频教程请关注 http://edu.csdn.net/lecturer/lecturer_detail?lecturer_id=440 一个朋友在问(我也曾经遇到过这样的事情),尤其是在地理信息上面 ...
- java获得当前日期是今年的第几周,以及这周的开始日期的方法
直接上代码,备份使用 时间戳,长整型存储 long startTime1 = 1530613938532l; Calendar cale ...
- Nodejs学习笔记(十二)—定时任务(node-schedule)
写在之前 在实际开发项目中,会遇到很多定时任务的工作.比如:定时导出某些数据.定时发送消息或邮件给用户.定时备份什么类型的文件等等 一般可以写个定时器,来完成相应的需求,在node.js中自已实现也非 ...
- Oracle数据库之PL/SQL程序基础设计
一.PL/SQL块结构 前边我们已经介绍了PL/SQL块的结构,再来回顾一下: DECLARE /* * 声明部分——定义常量.变量.复杂数据类型.游标.用户自定义异常 */ BEGIN /* * 执 ...
- Cacheable redis 宕机
使用Cacheable注解Redis方法时,如果Redis服务器挂了,就直接抛出异常了, java.net.ConnectException: Connection refused: connect ...
- elasticdump
elasticdump备份elasticsearch里面的某个索引数据 1. 安装环境 需要node.npm.yarn # 去官方下载最新版本的nodejs #wget https://nod ...
- python性能对比
python性能对比之items #1 #-*- coding:utf8-*- import datetime road_nodes = {} for i in range(5000000): roa ...
- Polymorphic form--多态表单
一个ruby on rails项目,用户和公司的模型都有地址. 我要创建一个地址表,包含用户和公司表的引用,比直接做下去要好一点,这回让我的数据库设计保持干净. 我的第一印象是,这似乎很难实现,外面所 ...