2015-08-13 89 views
-1

這花了很多時間來解決。我有一個portlet應用程序是8.0,並使用hibernate進行數據庫事務。我試圖將它遷移到8.5.5 liberty配置文件。我們使用的是hibernate 3.6.9。websphere liberty profile無法實例化導致的TransactionManagerLookup:java.lang.ClassNotFoundException:com.ibm.ejs.jts.jta.JTSXA

persistance.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> 

登錄:

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 

任何東西與此發生的建議嗎?

回答

0

WebSphereTransactionManagerLookup javadoc

爲WebSphere的TransactionManagerLookup策略(版本4,5.0和5.1 )

嘗試使用WebSphereExtendedJTATransactionLookup代替。

+0

感謝很多工作.. :),但現在我堅持另一個問題: Portlet正在使用憑證保險庫和上下文正在看 - >「portletservice/com.ibm.portal.portlet.service.credentialvault。 CredentialVaultService「。我在網上試過我如何在自由個人資料裏設置這個,但是直到現在都沒有運氣......任何關於此的建議都會非常有幫助 – nikned

+0

如果這個答案幫助你解決了你報告的問題,你應該接受它(點擊複選標記旁邊的答案)併爲您的新問題創建另一個問題。 –

相關問題