We are using Spring 2.0 and Hibernate 3.2 rc5 in an WAS 6.0 EJB-container. To let handle all the transaction work by the EJB-container we work with CMT. When Spring tries to get the WebSphere transaction then a javax.naming.ConfigurationException is thrown by WAS:
And here is the relevent cutout of the Spring transaction manager configuration:Code:[13.10.06 13:28:44:207 CEST] 00000016 Helpers W NMSV0610I: Von einer javax.naming.Context-Implementierung wurde eine NamingException ausgelöst. Einzelheiten folgen: Kontextimplementierung: com.ibm.ws.naming.jndicos.CNContextImpl Kontextmethode: lookupExt Kontextname: fra10056681Node01Cell/nodes/fra10056681Node01/servers/server1 Zielname: jta/usertransaction Weitere Daten: "" Stack-Trace zur Ausnahme: com.ibm.websphere.naming.CannotInstantiateObjectException: Exception occurred while the JNDI NamingManager was processing a javax.naming.Reference object. Root exception is javax.naming.ConfigurationException at com.ibm.ws.Transaction.JTA.UtxJNDIFactory.getObjectInstance(UtxJNDIFactory.java:107) at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:314) at com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookupExt(Helpers.java:894) at com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookup(Helpers.java:701) at com.ibm.ws.naming.jndicos.CNContextImpl.processResolveResults(CNContextImpl.java:1937) at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1792) at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1707) at com.ibm.ws.naming.jndicos.CNContextImpl.lookupExt(CNContextImpl.java:1412) at com.ibm.ws.naming.jndicos.CNContextImpl.lookup(CNContextImpl.java:1290) at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:145) at javax.naming.InitialContext.lookup(InitialContext.java:361) at org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:124) at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:86) . . .
With the WAS command dumpNameSpace I checked if the jta/usertransaction does exist in the JNDI name space and it does:Code:<bean id="wsJtaTm" class="org.springframework.transaction.jta.WebSphereTransactionManagerFactoryBean" /> <bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager"> <property name="transactionManager" ref="wsJtaTm" /> <property name="userTransactionName"><null /></property> <property name="autodetectTransactionManager" value="false" /> </bean> <!-- The abstract session factory holding the common configuration --> <bean id="abstractSessionFactory" abstract="true" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource" ref="APM-DS" /> <property name="jtaTransactionManager" ref="transactionManager" /> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> net.sf.hibernate.dialect.Oracle9Dialect </prop> . . .
What goes wrong here? I have no idea and would be appreciative to get hints.Code:16 (top)/nodes/fra10056681Node01/servers/server1/jta javax.naming.Context 17 (top)/nodes/fra10056681Node01/servers/server1/jta/usertransaction 17 java.lang.Object
Regards,
Udo


Reply With Quote