This chapter provides an overview of using an embeddable EJB container in Oracle WebLogic Server. The following topics are covered:
Unlike traditional Java EE server-based execution, embeddable usage allows client code and its corresponding enterprise beans to run within the same virtual machine and class loader. This provides better support for testing, offline processing (e.g., batch jobs), and the use of the EJB programming model in desktop applications.
Most of the services present in the enterprise bean container in a Java EE server are available in the embedded enterprise bean container, including injection, container-managed transactions, and security. Enterprise bean components execute similarly in both embedded and Java EE environments, and therefore the same enterprise bean can be easily reused in both standalone and networked applications.
For detailed information about using the Embedded Enterprise Bean Container, see "Developing Embeddable Enterprise Bean Applications" in the "Enterprise Beans" chapter of the Java EE 6 Tutorial at http://download.oracle.com/javaee/6/tutorial/doc/gkcrr.html
The EJB Lite subset of the EJB 3.1 API is supported in the Embedded EJB Container. EJB Lite is by definition a subset of functionality and doesn't describe any new feature or functionality. This section outlines the requirements of EJB Lite support as defined by the EJB 3.1 specification.
Table 7-1 represents the official requirements for EJB 3.1 Lite functionality support as defined by the EJB 3.1 specification.
Table 7-1 EJB 3.1 LIte Functionality Supported in Embedded EJB Container
EJB 3.1 Lite | EJB 3.1 Full | |
---|---|---|
Components |
||
Session Beans (stateful, stateless, singleton) |
Yes |
Yes |
Message-Driven Beans |
No |
Yes |
2.x/1.1 CMP/BMP Entity Beans |
No |
Yes |
JPA 2.0 |
Yes |
Yes |
Session Bean Client Views |
||
Local/No Interface |
Yes |
Yes |
3.0 Remote |
No |
Yes |
2.x Remote Home/Component |
No |
Yes |
JAX-WS Web Services Endpoint |
No |
Yes |
JAX-RPC Web Services Endpoint |
No |
Yes |
Services |
||
EJB Timer Service |
No |
Yes |
Asynchronous Session Bean Invocations |
No |
Yes |
Interceptors |
Yes |
Yes |
RMI-IIOP Interoperability |
No |
Yes |
Container-managed Transactions/Bean-managed Transactions |
Yes |
Yes |
Declarative and Programmatic Security |
Yes |
Yes |
Miscellaneous |
||
Embeddable API |
Yes |
Yes |