Getting Stuff from the Container
Generally speaking the only way to get a container controlled resource is via dependency injection or lookup from within a container managed component. Dependency injection can be configure equally via xml or annotations (see @.
InitialContext Lookups
- Server side beans should access other beans on the server via the default no args constructor. EJB 3 spec 15.3.1 Bean Provider's Responsibilities
- Security Propagation - see also
- The lookup names must be preceded with "java:comp/env", as in "java:comp/env/myBean". e.g.
initialContext.lookup("java:comp/env/beanName")
- Clients is a good reference for more complex lookups, including authentication.
Injection
- @EJB is syntactic sugar for
initialContext.lookup("java:comp/env/beanName")
- EJB Refs is a good reference for injection via xml or annotations