Sun Java System Application Server Platform Edition 9 Upgrade and Migration Guide

Application Server 9 Options Incompatible with Java EE 5 Specification Requirements

All portable Java EE programs run on the Application Server 9 without modification. However, as allowed by the Java EE compatibility requirements, it is possible to configure applications to use features of the Sun Java System Application Server 9 that are not compatible with the Java EE specification.

The pass-by-reference element in the sun-ejb-jar.xml file only applies to remote calls. As defined in the EJB 3.0 specification calls to local interfaces use pass-by-reference semantics.

If the pass-by-reference element is set to its default value of false, the parameter passing semantics for calls to remote interfaces comply with the EJB 3.0 specification, section 5.4. If set to true, remote calls involve pass-by-reference semantics instead of pass-by-value semantics, contrary to this specification.

Portable programs cannot assume that a copy of the object is made during such a call, and thus that it is safe to modify the original. Nor can they assume that a copy is not made, and thus that changes to the object are visible to both caller and callee. When this flag is set to true, parameters and return values are considered read-only. The behavior of a program that modifies such parameters or return values is undefined. For more information about the pass-by-reference element, see the Sun Java System Application Server Platform Edition 9 Developer’s Guide.