我目前正在WebSphere应用服务器自由配置文件8.5.5.7上开发一个openjpa项目。数据库为MySQL。
在运行时,当我试图访问实体管理器时,会得到如下错误:
由: javax.ejb.EJBException:参见嵌套异常;嵌套异常是: java.lang.Exception:参见嵌套的Throwable at javax.ejb.EJBException. 27 由: com.ibm.ejs.container.util.ExceptionUtil.Exception(ExceptionUtil.java:317)引起: java.lang.Exception:参见嵌套的Throwable at java.lang.Exception. 27由: java.lang.AbstractMethodError:引起的 在com.ibm.ws.jpa.container.v21.internal.JPA21Runtime.createEntityManagerInstance(JPA21Runtime.java:104)的内部课堂上
目前,我正在使用以下dependencies:org.apache.openjpa:openjpa-all-2.4.0
在部署期间,我看到以下堆栈跟踪
err 458应用程序信息默认执行器-线程-16 openjpa.jdbc.JDBC -使用字典类"org.apache.openjpa.jdbc.sql.MySQLDictionary“(MySQL 5.6.25-0ubuntu0.15.04.1,mysql驱动程序mysql-连接器-java-5.0.8(修订本:${svn.Revision} ))。err 502应用程序信息默认执行器-线程-16 openjpa.jdbc.JDBC -连接到MySQL版本5.5使用JDBC驱动程序MySQL-AB JDBC驱动程序版本mysql-连接器-java-5.0.8(修订:${svn.Revision} )。
但是这并不会中止我的部署过程,而且我仍然可以使用我的服务。
在server.xml中添加了以下特性
<featureManager>
<feature>webProfile-7.0</feature>
<feature>localConnector-1.0</feature>
<feature>jndi-1.0</feature>
<feature>jdbc-4.1</feature>
<feature>jaxrs-2.0</feature>
<feature>jpa-2.1</feature>
</featureManager>假设这是一个兼容性问题,我在2.2.1之前使用了openjpa的旧版本。
禁用server.xml的JPA2.1功能
但运气不好。
如有任何关于上述问题的资料/参考/解决办法,我们将不胜感激。谢谢
更新:感谢您的更新。更新server.xml为
<featureManager>
<feature>localConnector-1.0</feature>
<feature>jndi-1.0</feature>
<feature>jdbc-4.1</feature>
<feature>jpa-2.0</feature>
<feature>jaxrs-2.0</feature>
<feature>jaxrsClient-2.0</feature>
<feature>ejbLite-3.2</feature>
</featureManager>这仍然不能选择EntityManager。
错误处理过程中发生错误,请放弃!嵌套异常是: javax.ejb.EJBException:参见嵌套异常;嵌套异常是: java.lang.NullPointerException,同时使用params调用公共void () []。 ERROR SRVE0777E:由应用程序类SRVE0777E java.lang.RuntimeException: org.apache.cxf.interceptor.Fault: nested引发的异常是: javax.ejb.EJBException:参见嵌套异常;嵌套异常是: java.lang.NullPointerException,同时使用params调用公共void () []。 在org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:116)的内部课堂上 由: org.apache.cxf.interceptor.Fault:嵌套异常是: javax.ejb.EJBException:参见嵌套异常;嵌套异常是: 在使用params调用公共void ()时,java.lang.NullPointerException []。 在org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:167) .再多一个 由: javax.ejb.EJBTransactionRolledbackException:嵌套异常是: javax.ejb.EJBException:参见嵌套异常;嵌套异常是: java.lang.NullPointerException在内部类
发布于 2015-10-19 14:23:24
您已经指定了JPA2.1,但是OpenJPA不支持JPA2.1。WebSphere中包含的JPA2.1提供程序是EclipseLink。您需要从您的OpenJPA中删除对persistence.xml的引用,并使用默认的EclipseLink (尽管有一些已知行为变化),或者按照Gas的建议,如果要继续使用OpenJPA,则需要将webProfile-7.0和jpa-2.1替换为jpa-2.0。
https://stackoverflow.com/questions/33205570
复制相似问题