Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WebSphere Liberty and Eclipselink SDO_Websphere - Fatal编程技术网

WebSphere Liberty and Eclipselink SDO

WebSphere Liberty and Eclipselink SDO,websphere,Websphere,我正在将一个旧的IBM Process Server应用程序移植到IBM WebSphere Liberty。它包含大量基于服务数据对象(SDO)的代码。我有一些很好的工作代码,使用JDK8作为独立Java运行。我使用的是eclipselink 2.7.7,特别是2个jar文件 eclipselink.jar commonj.sdo_2.1.1v20111051852.jar 我已将此代码构建到一个Servlet中以处理SOAP请求,并将其与其他代码一起打包到一个EAR文件中,该文件是我在I

我正在将一个旧的IBM Process Server应用程序移植到IBM WebSphere Liberty。它包含大量基于服务数据对象(SDO)的代码。我有一些很好的工作代码,使用JDK8作为独立Java运行。我使用的是eclipselink 2.7.7,特别是2个jar文件

eclipselink.jar 
commonj.sdo_2.1.1v20111051852.jar
我已将此代码构建到一个Servlet中以处理SOAP请求,并将其与其他代码一起打包到一个EAR文件中,该文件是我在IBMWebSphereLiberty 20下部署的。它不起作用。似乎与《日食》的自由版有冲突

如果我将代码部署为WAR文件,并添加一个“PARENT_LAST”的类加载器,那么代码就可以正常工作

但是,如果我尝试在EAR文件中部署代码,并为EAR文件设置“PARENT_LAST”类加载器,则会出现此错误

[ERROR   ] CWWKZ0106E: Could not start web application S21.
[ERROR   ] CWWKZ0002E: An exception occurred while starting the application S21. The exception message was: com.ibm.ws.container.service.state.StateChangeException: java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "org.eclipse.persistence.jpa.PersistenceProvider.getProviderUtil()Ljavax/persistence/spi/ProviderUtil;" the class loader (instance of com/ibm/ws/classloading/internal/ParentLastClassLoader) of the current class, org/eclipse/persistence/jpa/PersistenceProvider, and the class loader (instance of org/eclipse/osgi/internal/loader/EquinoxClassLoader) for interface javax/persistence/spi/PersistenceProvider have different Class objects for the type javax/persistence/spi/ProviderUtil used in the signature
有人知道我是否可以用我的版本2.7.7替换EclipseLink的IBM Liberty实现吗? 我的应用程序也使用JPA,它在Liberty下运行良好,所以我不想破坏它

感谢您的帮助/指导。。。这是一个漫长的周六

附言: 我尝试只使用SDO库(commonj.SDO_2.1.1v20111051852.jar)运行java代码,并依赖WebSphere Liberty运行时jar来提供Eclipselink功能,但我遇到了以下错误,这就是为什么我随后开始添加上面提到的Eclipselink/SDO jar的“匹配对”

Caught Exception : org.eclipse.persistence.internal.security.PrivilegedAccessHelper.getSystemPropertyBoolean(Ljava/lang/String;Z)Z
java.lang.NoSuchMethodError: org.eclipse.persistence.internal.security.PrivilegedAccessHelper.getSystemPropertyBoolean(Ljava/lang/String;Z)Z
at org.eclipse.persistence.sdo.helper.SDOHelperContext.<init>(SDOHelperContext.java:93)
at org.eclipse.persistence.sdo.helper.SDOHelperContext$DefaultHelperContextResolver.getHelperContext(SDOHelperContext.java:1432)
at org.eclipse.persistence.sdo.helper.SDOHelperContext.getHelperContext(SDOHelperContext.java:492)
at org.eclipse.persistence.sdo.helper.SDOHelperContext.getHelperContext(SDOHelperContext.java:471)
at org.eclipse.persistence.sdo.helper.SDOHelperContext.getHelperContext(SDOHelperContext.java:456)
at org.eclipse.persistence.sdo.helper.delegates.SDOXMLHelperDelegator.getXMLHelperDelegate(SDOXMLHelperDelegator.java:178)
at org.eclipse.persistence.sdo.helper.delegates.SDOXMLHelperDelegator.load(SDOXMLHelperDelegator.java:78)
at com.ebs.solas2021.port.adapter.ui.SOAPRequestHandler.main(SOAPRequestHandler.java:237)
捕获到异常:org.eclipse.persistence.internal.security.privilegedacceshelper.getSystemPropertyBoolean(Ljava/lang/String;Z)Z
java.lang.NoSuchMethodError:org.eclipse.persistence.internal.security.PrivilegedAccessHelper.getSystemPropertyBoolean(Ljava/lang/String;Z)Z
位于org.eclipse.persistence.sdo.helper.sdohelpercentext(sdohelpercentext.java:93)
位于org.eclipse.persistence.sdo.helper.sdohelpercentext$defaultHelperContextExtresolver.getHelperContext(sdohelpercentext.java:1432)
位于org.eclipse.persistence.sdo.helper.sdohelpercentext.getHelperContext(sdohelpercentext.java:492)
位于org.eclipse.persistence.sdo.helper.sdohelpercentext.getHelperContext(sdohelpercentext.java:471)
位于org.eclipse.persistence.sdo.helper.sdohelpercentext.getHelperContext(sdohelpercentext.java:456)
位于org.eclipse.persistence.sdo.helper.delegator.SDOXMLHelperDelegator.getXMLHelperDelegate(SDOXMLHelperDelegator.java:178)
位于org.eclipse.persistence.sdo.helper.delegator.SDOXMLHelperDelegator.load(SDOXMLHelperDelegator.java:78)
位于com.ebs.solas2021.port.adapter.ui.SOAPRequestHandler.main(SOAPRequestHandler.java:237)

在新的一天里,在寒冷的光线下重新阅读文档时,您会发现令人惊讶的事情。事实证明,可以在Liberty上安装JPA2.2容器,同时提供自己的EclipseLink实现。工作起来很有魅力

此处记录: