Brad Maxwell created WFLY-11940:
-----------------------------------
Summary: [GSS](7.2.z) Default Value of local-receiver-pass-by-value in
jboss-ejb-client Descriptor is Not Respected
Key: WFLY-11940
URL:
https://issues.jboss.org/browse/WFLY-11940
Project: WildFly
Issue Type: Bug
Components: EE, EJB
Affects Versions: 11.0.0.Final, 12.0.0.Final, 13.0.0.Final
Reporter: Brad Maxwell
Assignee: Bartosz Baranowski
Fix For: 16.0.0.Beta1, 16.0.0.Final
Attachments: TestWAR.war
The jboss-ejb-client.xml deployment descriptor file can be used to configure the pass
semantics of the local EJB receiver using the local-receiver-pass-by-value attribute.
As per the EJB spec, the default behaviour should be to pass by value, and this is
appropriately reflected in the jboss-ejb-client XSD. As of Wildfly 11, the *omission* of
the local-receiver-pass-by-value attribute in a jboss-ejb-client deployment descriptor
actually results in remote EJB parameters and the return value being passed by reference
as opposed to the documented default of being passed by value.
It appears that this bug is a result of changes made for WFLY-5403. The root cause is
that the EJBClientDescriptorMetaDataProcessor.java class only uses the pass-by-value
receiver if the local-receiver-pass-by-value attribute is Boolean.TRUE (line 177 in
13.0.0.Final), but EJBClientDescriptor10Parser.java defaults the value to null if it is
not included in the jboss-ejb-client.xml (line 132 in 13.0.0.Final). The old and working
behaviour was to fallback to the value configured at the ejb subsystem level if the
jboss-ejb-client.xml excluded the attribute.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)