Details
-
Bug
-
Resolution: Done
-
Major
-
None
-
None
Description
It seems that the method-params for container transactions are not matched correctly if the contain arrays.
I've got an EJB "First" that calls another EJB "Second". Both have the same interface containing a method void test(String[]);
If I define the transaction attribute NEVER including method-params for "First" and without params for "Second" the test fails with
JBAS014163: Transaction present on server in Never call (EJB3 13.6.2.6)
I define the container transaction like this:
<container-transaction>
<method>
<ejb-name>FirstWithParams</ejb-name>
<method-intf>Local</method-intf>
<method-name>test</method-name>
<method-params>
<method-param>java.lang.String[]</method-param>
</method-params>
</method>
<method>
<ejb-name>FirstWithParams</ejb-name>
<method-intf>Local</method-intf>
<method-name>test</method-name>
<method-params>
<method-param>java.lang.String</method-param>
</method-params>
</method>
<method>
<ejb-name>FirstWithParams</ejb-name>
<method-intf>Local</method-intf>
<method-name>test</method-name>
<method-params>
<method-param>int</method-param>
</method-params>
</method>
<method>
<ejb-name>Second</ejb-name>
<method-intf>Local</method-intf>
<method-name>test</method-name>
</method>
<trans-attribute>Never</trans-attribute>
</container-transaction>
I will attach a test case that fails at the call to test(String[]) but successfully call test(String) and test(int).