Recently I changed a Method parameter in a SessionBean from String to an Enum.
After that I got some serious problems which where caused by the not recognized transaction attribute. The first method parameter in this example is an Enum.
The method was obviously not recognized for RequiresNew and as a consequence no asynchronous behaviour.
We're using JBoss-4.0.4.GA with JDK 1.5.
<container-transaction > <method> <ejb-name>MessageSink</ejb-name> <method-intf>Local</method-intf> <method-name>appendMessageAsync</method-name> <method-params> <method-param>ejb.session.core.MessageSink.Type</method-param> <method-param>java.lang.Integer</method-param> <method-param>types.core.MessagePart</method-param> </method-params> </method> <trans-attribute>RequiresNew</trans-attribute> </container-transaction>
You'd have to check what the spec says. For j2ee it's most probably not supported. I don't know if this has changed for JavaEE 5.