Introduction and Roadmap
Document Scope and Audience
Guide to this Document
Related Documentation
Comprehensive Example for the EJB 3.0 Developer
Release-Specific EJB 3.0 Information
Understanding Enterprise JavaBeans 3.0
Understanding EJB 3.0: New Features and Changes From EJB 2.X
Changes in the EJB Programming Model and Requirements Between Versions 2.X and 3.0
New EJB 3.0 Features
WebLogic Server Value-Added EJB 3.0 Features
EJB 3.0 Examples
Programming 3.0 Entities
Simple Enterprise JavaBeans 3.0 Examples
Example of a Simple Stateless EJB
Example of a Simple Stateful EJB
Example of an Interceptor Class
Example of Invoking a 3.0 Entity From A Session Bean
Iterative Development of Enterprise JavaBeans 3.0
Overview of the EJB 3.0 Development Process
Create a Source Directory
Program the EJB 3.0 Business Interface
Business Interface Application Exceptions
Using Generics in EJBs
Program the Annotated EJB Class
Optionally Program Interceptors
Compile Java Source
Optionally Create and Edit Deployment Descriptors
Package
Deploy
Programming the Annotated EJB 3.0 Class
Overview of Metadata Annotations and EJB 3.0 Bean Files
Programming the Bean File: Requirements and Changes From 2.X
Bean Class Requirements and Changes From 2.X
Bean Class Method Requirements
Programming the Bean File: Typical Steps
Specifying the Business and Other Interfaces
Specifying the Bean Type (Stateless, Stateful, Message-Driven)
Injecting Resource Dependency into a Variable or Setter Method
Invoking a 3.0 Entity
Injecting Persistence Context Using Metadata Annotations
Finding an Entity Using the EntityManager API
Creating and Updating an Entity Using EntityManager
Specifying Interceptors for Business Methods or Lifecycle Callback Events
Specifying Business or Lifecycle Interceptors: Typical Steps
Programming the Interceptor Class
Programming Business Method Interceptor Methods
Programming Lifecycle Callback Interceptor Methods
Specifying Default Interceptor Methods
Saving State Across Interceptors With the InvocationContext API
Programming Application Exceptions
Securing Access to the EJB
Specifying Transaction Management and Attributes
Complete List of Metadata Annotations By Function
Annotations to Specify the Bean Type
Annotations to Specify the Local or Remote Interfaces
Annotations to Support EJB 2.X Client View
Annotations to Invoke a 3.0 Entity Bean
Transaction-Related Annotations
Annotations to Specify Interceptors
Annotations to Specify Lifecycle Callbacks
Context Dependency Annotations
Timeout and Exceptions Annotations
Using Kodo with WebLogic Server
Overview of Kodo
Creating a Kodo Application
Using Different Kodo Versions
Configuring Persistence
Configuring a Persistence Unit
Configuring a Plugin
Deploying a Kodo Application
Configuring a Kodo Application
Administration Console
Accessing Persistence Configuration Options
EJB 3.0 Metadata Annotations Reference
Overview of EJB 3.0 Annotations
Annotations for Stateless, Stateful, and Message-Driven Beans
javax.ejb.ActivationConfigProperty
javax.ejb.ApplicationException
javax.ejb.EJB
javax.ejb.EJBs
javax.ejb.Init
javax.ejb.Local
javax.ejb.LocalHome
javax.ejb.MessageDriven
javax.ejb.PostActivate
javax.ejb.PrePassivate
javax.ejb.Remote
javax.ejb.RemoteHome
javax.ejb.Remove
javax.ejb.Stateful
javax.ejb.Stateless
javax.ejb.Timeout
javax.ejb.TransactionAttribute
javax.ejb.TransactionManagement
Annotations Used to Configure Interceptors
javax.interceptor.AroundInvoke
javax.interceptor.ExcludeClassInterceptors
javax.interceptor.ExcludeDefaultInterceptors
javax.interceptor.Interceptors
Annotations Used to Interact With Entity Beans
javax.persistence.PersistenceContext
javax.persistence.PersistenceContexts
javax.persistence.PersistenceUnit
javax.persistence.PersistenceUnits
Standard JDK Annotations Used By EJB 3.0
javax.annotation.PostConstruct
javax.annotation.PreDestroy
javax.annotation.Resource
javax.annotation.Resources
Standard Security-Related JDK Annotations Used by EJB 3.0
javax.annotation.security.DeclareRoles
javax.annotation.security.DenyAll
javax.annotation.security.PermitAll
javax.annotation.security.RolesAllowed
javax.annotation.security.RunAs