Thursday, September 30, 2010

Atomikos, hosted mode (Jetty): No Constructor:

I'm following these instructions http://docs.codehaus.org/display/JETTY/Atomikos
and got stuck on Step 2 in the hosted mode; stand-alone mode works
fine.

I added these lines to jetty-web.xml:

<New id="tx" class="org.mortbay.jetty.plus.naming.Transaction">
<Arg><New class="com.atomikos.icatch.jta.UserTransactionImp" /></
Arg>
</New>

In hosted mode I'm getting an exception:

java.lang.IllegalStateException: No Constructor: <New id="tx"
class="org.mortbay.jetty.plus.naming.Transaction">
<Arg><New class="com.atomikos.icatch.jta.UserTransactionImp" /></
Arg>
</New>

If I empty the <Arg/> like this:
<New id="tx" class="org.mortbay.jetty.plus.naming.Transaction">
<Arg></Arg>
</New>
there is no error. UserTransactionImpl by itself
<New class="com.atomikos.icatch.jta.UserTransactionImp" />
does not create an error.

The error occurs only when I try to pass UserTransactionImpl to
Transaction, and only in the hosted mode.

There is a post http://stackoverflow.com/questions/1368806/atomikos-jetty-in-a-maven-build-environment-classloader-issue
that says that there could be multiple copies of UserTransaction (an
argument for org.mortbay.jetty.plus.naming.Transaction parameter)
http://jetty.codehaus.org/jetty/jetty-6/apidocs/org/mortbay/jetty/plus/naming/Transaction.html#Transaction(javax.transaction.UserTransaction)
But I could not find anything yet in the jars that would contain
another copy of UserTransaction.
(the original UserTransaction sits in jta.jar described in Step 1 of
the intstructions)


Any help on how to fix this error would be greatly appreciated.

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to google-web-toolkit+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.

No comments:

Post a Comment