Hibernate websphere liberty profile无法实例化TransactionManagerLookup,原因是:java.lang.ClassNotFoundException:com.ibm.ejs.jts.jta.JTSXA

Hibernate websphere liberty profile无法实例化TransactionManagerLookup,原因是:java.lang.ClassNotFoundException:com.ibm.ejs.jts.jta.JTSXA,hibernate,websphere,jta,websphere-liberty,Hibernate,Websphere,Jta,Websphere Liberty,这要花很多时间才能解决。我在was 8.0上有一个portlet应用程序,使用hibernate进行数据库事务。我正在尝试将其迁移到8.5.5 liberty概要文件。我们使用hibernate 3.6.9 persistence.xml如下所示: <property name="jpaProperties"> <value> hibernate.transaction.manager_lookup_class=org.hi

这要花很多时间才能解决。我在was 8.0上有一个portlet应用程序,使用hibernate进行数据库事务。我正在尝试将其迁移到8.5.5 liberty概要文件。我们使用hibernate 3.6.9

persistence.xml如下所示:

    <property name="jpaProperties">
        <value>
            hibernate.transaction.manager_lookup_class=org.hibernate.transaction.WebSphereTransactionManagerLookup
            hibernate.current_session_context_class=jta
            hibernate.transaction.flush_before_completion=true
            hibernate.connection.release_mode=auto
        </value>
    </property>

hibernate.transaction.manager\u lookup\u class=org.hibernate.transaction.WebSphereTransactionManagerLookup
hibernate.current_session_context_class=jta
hibernate.transaction.flush\u before\u completion=true
hibernate.connection.release\u mode=auto
日志:

00000278 org.hibernate.transaction.TransactionFactory I事务策略:org.hibernate.ejb.transaction.JoinableCMTTransactionFactory
[8/13/15 0:39:28:182 CDT]00000278 org.hibernate.transaction.TransactionManagerLookupFactory I实例化TransactionManagerLookup:org.hibernate.transaction.WebSphereTransactionManagerLookup
[8/13/15 0:39:28:185 CDT]00000278 org.hibernate.transaction.TransactionManagerLookupFactory E无法实例化TransactionManagerLookup
org.hibernate.HibernateException:无法获取WebSphere TransactionManagerFactory实例
...........
..................
........................
原因:java.lang.ClassNotFoundException:com.ibm.ejs.jts.jta.JTSXA
位于com.ibm.ws.classloading.internal.AppClassLoader.findClassCommonLibraryClassLoaders(AppClassLoader.java:424)
位于com.ibm.ws.classloading.internal.AppClassLoader.findClass(AppClassLoader.java:257)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:425)
位于com.ibm.ws.classloading.internal.AppClassLoader.findOrDelegateLoadClass(AppClassLoader.java:402)
位于com.ibm.ws.classloading.internal.AppClassLoader.loadClass(AppClassLoader.java:373)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:358)
位于java.lang.Class.forName0(本机方法)
位于java.lang.Class.forName(Class.java:191)
位于org.hibernate.transaction.WebSphereTransactionManagerLookup。(WebSphereTransactionManagerLookup.java:67)
... 80多
对此有何建议?

请参阅:

用于WebSphere的TransactionManagerLookup策略(版本4、5.0和 (5.1)


请尝试改用。

非常感谢您的帮助。:),但现在我遇到了另一个问题:portlet正在使用凭证保险库,而上下文正在查看-->“portletservice/com.ibm.portal.portlet.service.credentialvault.CredentialVaultService”。我在网上试过如何在liberty个人资料中设置这个,但到现在为止运气都不好。。。。如果这个答案帮助你解决了你报告的问题,你应该接受它(单击答案旁边的复选标记),并为你的新问题创建另一个问题。
00000278 org.hibernate.transaction.TransactionFactoryFactory          I Transaction strategy: org.hibernate.ejb.transaction.JoinableCMTTransactionFactory
[8/13/15 0:39:28:182 CDT] 00000278 org.hibernate.transaction.TransactionManagerLookupFactory    I instantiating TransactionManagerLookup: org.hibernate.transaction.WebSphereTransactionManagerLookup
[8/13/15 0:39:28:185 CDT] 00000278 org.hibernate.transaction.TransactionManagerLookupFactory    E Could not instantiate TransactionManagerLookup
org.hibernate.HibernateException: Could not obtain WebSphere TransactionManagerFactory instance
...........
..................
........................

Caused by: java.lang.ClassNotFoundException: com.ibm.ejs.jts.jta.JTSXA
    at com.ibm.ws.classloading.internal.AppClassLoader.findClassCommonLibraryClassLoaders(AppClassLoader.java:424)
    at com.ibm.ws.classloading.internal.AppClassLoader.findClass(AppClassLoader.java:257)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at com.ibm.ws.classloading.internal.AppClassLoader.findOrDelegateLoadClass(AppClassLoader.java:402)
    at com.ibm.ws.classloading.internal.AppClassLoader.loadClass(AppClassLoader.java:373)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:191)
    at org.hibernate.transaction.WebSphereTransactionManagerLookup.<init>(WebSphereTransactionManagerLookup.java:67)
    ... 80 more