User transactions from the client side

Unlike JBoss, JOnAS supports full class names. With JOnAS, you have to add the prefix "javax.transaction." or "java:comp/" when calling a UserTransaction from a Java servlet. You have to add the prefix "javax.transaction." when calling a UserTransaction from a pure Java client.

Calls in JBoss look like:

        UserTransaction utx;
        utx = (javax.transaction.UserTransaction)
              initialContext.lookup("UserTransaction");
       

Calls from a servlet with JOnAS look like:

        UserTransaction utx;
        utx = (javax.transaction.UserTransaction)
              initialContext.lookup("javax.transaction.UserTransaction");
       

or

        UserTransaction utx;
        utx = (javax.transaction.UserTransaction)
              initialContext.lookup("java:comp/UserTransaction");
       

Calls from a pure Java client with JOnAS look like:

        UserTransaction utx;
        utx = (javax.transaction.UserTransaction)
              initialContext.lookup("javax.transaction.UserTransaction");
       

From JOnAS 3.2, the server disposes a client container, for the clients running in this container, you can use the j2EE standard naming system like "java:comp/" or "java:comp/env" for all resource accesses.