Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
Patch Available
Description
Please find Stateless Session Bean Reference Binding implementation and corresponding sample attached with
this JIRA. This contribution is from IBM to Apache as granted by the CCLA signed on 9 February 2007
Implementation:-
Stateless Session Bean reference binding enables SCA composite to consume service exposed by external
Stateless EJB. This implementation conforms to current Stateless EJB binding spec.
Reference binding implementation supports SCA composite running on both
1) managed environment (J2EE)
2) un-managed environment (J2SE)
This implementation can lookup and invoke any Stateless EJB just with the URI and Reference interface from SCDL.
Key part of this implementation is caller (SCA composite with reference binding) doesn't need to include
EJB home class or client related stub classes of the EJB. (see a note below).
Stateless EJB home lookup is done based on whether the SCA composite is running on managed/unmanaged environment.
JNDI name gets resolved either from InitialContext or CosNaming context based on whether composite is running on
managed/un-managed environment and based on whether JNDI properties are configured or not. This implementation creates
the stub based on the type of home object through java reflection or via RMI/IIOP. EJB method is invoked on the stub through java
reflection or through DII, based on whether the ejb object is local or remote.
Sample:-
EJB reference binding sample demonstrates how SCA composite can invoke Stateless Session Bean which is running on Geronimo.
This sample exercises un-managed env path with configured JNDI properties. Using Geronimo application server, managed path or
locating through cosNaming is not tested.
Note: Including home class at the caller (composite with reference binding) is required only if the EJB is running on
Geronimo application server which uses openejb. This is not required for application servers like WebSphere.
Tuscany revision:
Binding implementation and sample code is compiled and tested with Tuscany SCA revision 497910.