I'm running JBoss 3.0 and trying to do a simple comparison between it and other app servers on distributed EJB transactions. I have a client EJB (SLSB) on one engine which invokes a service EJB (SLSB) on another engine. The two engines are completely standalone (i.e. not clustered). The client EJB is simply a delegator, the service EJB just builds an array of String and sends it back.
When I use the client EJB to access the service EJB, it throws a java.rmi.MarshalException, with a nested exception of: java.io.NotSerializableException: org.jboss.tm.TransactionImpl. If I access the service EJB directly with a standalone client, I'm able to use it without any problems. So, I know there's no problem with serialization within my EJB. It appears that JBoss doesn't support this type of distributed transaction. Any suggestions?
You need to config Tyrex for distributed transactions. Should be as easy as uncommenting the MBean in the config.