UserTransaction jndi issue
freakwave10 Jul 21, 2009 2:08 PMHi all,
I deployed a seam WAR project on WebSphere. The issue I am facing is in regards to the JNDI name of the userTransaction Object.
On Websphere the JNDI name is jta/usertransaction
Which is not the default used by seam.
According to the https://jira.jboss.org/jira/browse/JBSEAM-4154 the org.jboss.seam.core.init.userTransactionName attribute has been removed.
During a async call from a POJO I always get the following exception:
javax.naming.ConfigurationException [Root exception is javax.naming.NameNotFoundException: Name "comp/UserTransaction" not found in context "java:".] at com.ibm.ws.naming.java.javaURLContextImpl.throwConfigurationExceptionWithDefaultJavaNS(javaURLContextImpl.java:411) at com.ibm.ws.naming.java.javaURLContextImpl.lookup(javaURLContextImpl.java:388) at com.ibm.ws.naming.java.javaURLContextRoot.lookup(javaURLContextRoot.java:204) at com.ibm.ws.naming.java.javaURLContextRoot.lookup(javaURLContextRoot.java:144) at javax.naming.InitialContext.lookup(InitialContext.java:363) at org.jboss.seam.transaction.Transaction.getUserTransaction(Transaction.java:79) at org.jboss.seam.transaction.Transaction.createUTTransaction(Transaction.java:71) at org.jboss.seam.transaction.Transaction.getTransaction(Transaction.java:44) at sun.reflect.GeneratedMethodAccessor45.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144) at org.jboss.seam.Component.callComponentMethod(Component.java:2211) at org.jboss.seam.Component.unwrap(Component.java:2237) at org.jboss.seam.Component.getInstance(Component.java:2004) at org.jboss.seam.Component.getInstance(Component.java:1967) at org.jboss.seam.Component.getInstance(Component.java:1961) at org.jboss.seam.Component.getInstance(Component.java:1934) at org.jboss.seam.Component.getInstance(Component.java:1929) at org.jboss.seam.transaction.Transaction.instance(Transaction.java:36) at org.jboss.seam.contexts.Contexts.flushAndDestroyContexts(Contexts.java:331) at org.jboss.seam.contexts.Lifecycle.endCall(Lifecycle.java:96) at org.jboss.seam.async.Asynchronous$ContextualAsynchronousRequest.cleanup(Asynchronous.java:91) at org.jboss.seam.async.Asynchronous$ContextualAsynchronousRequest.run(Asynchronous.java:84) at org.jboss.seam.async.AsynchronousInvocation.execute(AsynchronousInvocation.java:44) at org.jboss.seam.async.QuartzDispatcher$QuartzJob.execute(QuartzDispatcher.java:243) at org.quartz.core.JobRunShell.run(JobRunShell.java:202) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529) Caused by: javax.naming.NameNotFoundException: Name "comp/UserTransaction" not found in context "java:". at com.ibm.ws.naming.ipbase.NameSpace.lookupInternal(NameSpace.java:1095) at com.ibm.ws.naming.ipbase.NameSpace.lookup(NameSpace.java:991) at com.ibm.ws.naming.urlbase.UrlContextImpl.lookup(UrlContextImpl.java:1263) at com.ibm.ws.naming.java.javaURLContextImpl.lookup(javaURLContextImpl.java:384) ... 27 more
how can I configure seam to lookup the userTransaction with the proper name?
(on jboss, everything works as expected)
Kind regards,
Wolfgang