Accessing a session bean using dependency injection
Accessing the session bean using JNDI
Creating a simple message-driven bean
Sending a message to a message-driven bean
Accessing an EJB from a web service (JAX-WS)
Accessing an EJB from a web service (JAX-RS)
Accessing an EJB from an Applet
Accessing an EJB from a Java Application using JNDI
Accessing an EJB from a Java Application using an embeddable container
Creating a stateless session bean
Creating a stateful session bean
Using multiple singleton beans
Using container managed concurrency
Using bean managed concurrency
Controlling the initialization process
Using session beans with more than one business interface
Understanding parameter behavior and granularity
Using an asynchronous method to create a background process
Handling a string-based message
Handling a stream-based message
Handling an object-based message
Using an MDB in a point-to-point application
Using MDB in a publish-and-subscribe application
Specifying which types of message to receive using the message selector
Browsing messages in a message queue
Controlling the Object-Relationship Mapping (ORM) process
Using embeddable classes in entities
Using application-managed persistence
Validating persistent fields and properties
Validating using regular expressions
Querying Entities using JPQL and the Criteria API
Populating the Patient and Medication tables
Controlling the number of entities returned by a Select query
Creating the Demonstration classes
Handling transactions the easy way
Using the SessionSynchronization interface with session beans
Understanding how the TransactionAttributeType affects transactions
Handling transactions manually
Handling errors in a transaction
Using timeouts with transactions
Creating the SecurityApplication
Configuring the server to handle security
Understanding and declaring roles
Controlling security using declarations
Controlling security programmatically
Creating the Registration Application
Defining and using interceptors
Using the InvocationContext to verify parameters
Using interceptors to enforce security
Using interceptors to handle transactions
Using interceptors to handle application statistics
Using lifecycle methods in interceptors
Setting up the ReportsApplication
Creating and using declarative timers
Creating and using programmatic timers
Understanding calendar-based scheduling
Using persistent and non-persistent timers
Creating timers upon application deployment
Using interceptors with timers
Creating an EJB-based web service using JAX-WS
Creating an EJB-based web service using JAX-RS
Using an MDB as part of a web service
Understanding an application's JAR files using the jar command
Using deployment descriptors for interceptors
Using deployment descriptors for timer interceptors
Using deployment descriptor for default interceptors
Using deployment descriptors for callback interceptors
Using a deployment descriptors for transactions
Using deployment descriptors for security
Using an interceptor for logging and exception handling