Reference and Injection Types
The first half of this chapter focused on the semantics of the JNDI ENC and how to reference things within it. You learned the base semantics of both annotation and XML injection. This section dives into the various services and configurations you can reference from your ENC. Other chapters within this book have touched briefly on most of these injectable and referenceable types, but this chapter groups all of it into one place and discusses the intricacies and dirty details.
EJB References
As you saw earlier in this chapter, your EJB bean classes can reference and aggregate other EJBs either through JNDI ENC lookups or by directly injecting these references into member fields.
@javax.ejb.EJB
The @javax.ejb.EJB
annotation can be used on your bean class’s setter methods, on member
fields, or directly on the class itself:
package javax.ejb; @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME) public @interface EJB { String name( ) default ""; String description( ) default ""; Class beanInterface( ) default Object.class; String beanName( ) default ""; String mappedName( ) default ""; String lookup( ) default ""; }
The name()
attribute refers
to what the JNDI ENC name will be for the referenced EJB. This name is
relative to the java:comp/env
context.
The beanInterface()
attribute is the interface you are interested in and usually is used by the container to distinguish whether you want a remote or local reference to the EJB. If your EJB needs to be integrated with ...
Get Enterprise JavaBeans 3.1, 6th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.