JPA 与 Websphere的兼容性问题解决方案
李俊杰
概述
考虑到OR映射的产品多样化,为了更富有柔性化的设计,我们的产品采用JPA作为Persistence layer的持久化技术,hibernate3.2(hibernate3.2才支持JPA),spring2.0作为IOC和AOP的工具。产品的运行环境为Websphere6.1(因为我们的产品是基于jdk1.5)。JPA(Java Persistence API)作为Java EE 5.0平台标准的ORM规范,得到所有Java EE服务器的支持,是一个易于使用、伸缩性强的ORM规范。目前Hibernate 3.2、TopLink <!----><st1:chsdate isrocdate="False" month="12" w:st="on" day="30" islunardate="False" year="1899">10.1.3</st1:chsdate>以及OpenJpa都提供了JPA的实现。
错误信息
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/context/rdf/applicationContext-dao.xml]: Invocation of init method failed; nested exception is java.lang.ArrayStoreException |
错误原因
这个错误是IBM JVM 的bug,同样的程序在tomcat5.5,和jboss4.03上都没有问题,迁移到WebSphere上就有如上的错误。
解决方案
下载WebSphere软件升级包,升级Websphere。
下载Websphere升级软件
地址:http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg24012718 ,下载download.updii.61017.windows.ia32,可以根据具体的操作环境和Websphere版本下载相应的升级软件。
下载支持操作系统及sdk的补丁
地址:http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg27007951,下载操作系统的补丁:<st1:chsdate isrocdate="False" month="12" w:st="on" day="30" islunardate="False" year="1899">6.1.0</st1:chsdate>-WS-WAS-WinX32-FP0000017.pak,根据具体的操作系统下载相应的补丁;
下载sdk补丁:<st1:chsdate isrocdate="False" month="12" w:st="on" day="30" islunardate="False" year="1899">6.1.0</st1:chsdate>-WS-WASSDK-WinX32-FP0000017.pak。也要根据具体的操作系统和sdk要求来下载。
升级Websphere
升级WebSphere,这儿是使用Windows的升级程序来作为例子。
1) 解压并到download.updii.61017.windows.ia32\UpdateInstaller目录下,点击install.exe
<!----><v:shapetype o:spt="75" coordsize="21600,21600" filled="f" stroked="f" id="_x0000_t75" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" o:connecttype="rect" gradientshapeok="t"></v:path><!----><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style="WIDTH: 414.75pt; HEIGHT: 282pt"><v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image001.png" o:title=""></v:imagedata></v:shape>
点击next,选中I accept选项
<v:shape id="_x0000_i1026" type="#_x0000_t75" style="WIDTH: 415.5pt; HEIGHT: 282.75pt"><v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image003.png" o:title=""></v:imagedata></v:shape>
校验此升级软件是否支持该操作系统
<v:shape id="_x0000_i1027" type="#_x0000_t75" style="WIDTH: 415.5pt; HEIGHT: 284.25pt"><v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image005.png" o:title=""></v:imagedata></v:shape>
输入WebSphere安装地址
<v:shape id="_x0000_i1028" type="#_x0000_t75" style="WIDTH: 415.5pt; HEIGHT: 277.5pt"><v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image007.png" o:title=""></v:imagedata></v:shape>
下面的地址你不用修改,是升级软件自动给出的,升级软件会创建这个目录并把相关需要的文件copy到该目录下。
<v:shape id="_x0000_i1029" type="#_x0000_t75" style="WIDTH: 414.75pt; HEIGHT: 283.5pt"><v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image009.png" o:title=""></v:imagedata></v:shape>
确 确认升级包安装地址及大小。
<v:shape id="_x0000_i1030" type="#_x0000_t75" style="WIDTH: 414.75pt; HEIGHT: 282pt"><v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image011.png" o:title=""></v:imagedata></v:shape>
创创建升级目录并把相关文件copy到该目录下
<v:shape id="_x0000_i1031" type="#_x0000_t75" style="WIDTH: 414.75pt; HEIGHT: 282pt"><v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image013.png" o:title=""></v:imagedata></v:shape>
升升级软件copy文件结束
<v:shape id="_x0000_i1032" type="#_x0000_t75" style="WIDTH: 414.75pt; HEIGHT: 279pt"><v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image015.png" o:title=""></v:imagedata></v:shape>
2) 2)点击finish,则开始安装具体的升级包
<v:shape id="_x0000_i1033" type="#_x0000_t75" style="WIDTH: 414.75pt; HEIGHT: 282.75pt"><v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image017.png" o:title=""></v:imagedata></v:shape>
输输入要升级的WebSphere的AppServer目录
<v:shape id="_x0000_i1034" type="#_x0000_t75" style="WIDTH: 415.5pt; HEIGHT: 286.5pt"><v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image019.png" o:title=""></v:imagedata></v:shape>
默默认选择安装升级包
<v:shape id="_x0000_i1035" type="#_x0000_t75" style="WIDTH: 414.75pt; HEIGHT: 280.5pt"><v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image021.png" o:title=""></v:imagedata></v:shape>
输输入那两个升级补丁所在的位置,最好把这两个升级包copy到如图的目录下
<v:shape id="_x0000_i1036" type="#_x0000_t75" style="WIDTH: 415.5pt; HEIGHT: 284.25pt"><v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image023.png" o:title=""></v:imagedata></v:shape>
选选择两个需要升级的包
<v:shape id="_x0000_i1037" type="#_x0000_t75" style="WIDTH: 415.5pt; HEIGHT: 284.25pt"><v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image025.png" o:title=""></v:imagedata></v:shape>
确认升级包和升级的应用服务器
<v:shape id="_x0000_i1038" type="#_x0000_t75" style="WIDTH: 414.75pt; HEIGHT: 285pt"><v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image027.png" o:title=""></v:imagedata></v:shape>
开始升级
<v:shape id="_x0000_i1039" type="#_x0000_t75" style="WIDTH: 414.75pt; HEIGHT: 284.25pt"><v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image029.png" o:title=""></v:imagedata></v:shape>
升级成功结束
<v:shape id="_x0000_i1040" type="#_x0000_t75" style="WIDTH: 415.5pt; HEIGHT: 284.25pt"><v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image031.png" o:title=""></v:imagedata></v:shape>
<o:p> </o:p>
这样重新启动WebSphere,应用系统正常运行。
<o:p> </o:p>
<o:p> </o:p>
努力,在于我热爱我的事业,与中国的软件一起走向成熟,走向世界。<o:p></o:p>
<o:p></o:p>
联系作者:lijj_72@hotmail.com<o:p></o:p>
<o:p> </o:p>
分享到:
相关推荐
WAS6.1用的JDK是IBM jdk1.5, 而且它用的不少jar包比较旧,与最新的...基本上是网上查不到的解决方案,谨供需要在生产环境中将最新的SSH2架构程序部署到WAS6.1,又苦于兼容性问题的同学参考。本文乃原创,请转载时表明出处
websphere8.5默认支持的jpa版本是2.0,不支持2.1。因为websphere不能升级到9.0,而且需要代码改动比较少。可以配置服务器使8.5支持jpa2.1
OpenJPASample.zip 博文链接:https://lxy19791111.iteye.com/blog/139773
JPA教程JPA教程JPA教程JPA教程JPA教程
jpa jpa规范 jpa源码 jpa jpa规范 jpa源码
产生原因:因为使用 jpa 自动创建表的时候,采用的是TreeMap的,我们要变成LinkedHashMap ...解决方案:在项目下java文件夹下创建包名为: org.hibernate.cfg ,创建类: PropertyContainer [包名,类名一定要相同哦]
jpajpajpajpajpajpajpajpajpajpajpajpajpa
JPA必将成为Java持久化解决方案的主流,如果你是Hibernate或者TopLink的等ORM技术的忠实用户,不管你是否情愿,你迟早也得使用JPA,那现在正好可以借助传智播客视频教程的帮助,开始学习和尝试JPA吧!
包括TOPLink JPA,Hibernate JPA,Open Jpa,jpa批注
JPA
JPA分页查询与条件分页查询JPA分页查询与条件分页查询JPA分页查询与条件分页查询JPA分页查询与条件分页查询JPA分页查询与条件分页查询JPA分页查询与条件分页查询JPA分页查询与条件分页查询JPA分页查询与条件分页查询...
JPA规范实现,用JPA来解决可移植问题
JPA与Hibernate的优缺点
08_JPA详解_分析JPA与持久化实现产品对接的源代码.zip 08_JPA详解_分析JPA与持久化实现产品对接的源代码.zip
JPA视频_PPT及源码 · 1. JPA视频_概述 · 2. JPA视频_HelloWorld · 3. JPA视频_基本注解 · 4. JPA视频_Transient注解 · 5. JPA视频_Temporal注解 · 6. JPA视频_Table主键生成策略 · 7. JPA视频_...
jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联...
Spring Data JPA 简化 JPA 开发
04_JPA详解_第一个JPA实例与JPA主键生成策略.zip
JPA学习参考文档 JPA学习参考文档 JPA学习参考文档
Spring Data JPA API。 Spring Data JPA 开发文档。 官网 Spring Data JPA API。