| Interface | Description | 
|---|---|
| EJBContext | The EJBContext interface provides an instance with access to the 
 container-provided runtime context of an enterprise bean instance. | 
| EJBHome | The EJBHome interface must be extended by all enterprise beans'
 remote home interfaces. | 
| EJBLocalHome | The EJBLocalHome interface must be extended by all enterprise
 beans' local home interfaces. | 
| EJBLocalObject | The EJBLocalObject interface must be extended by all enterprise beans' local
 interfaces. | 
| EJBMetaData | The EJBMetaData interface allows a client to obtain the enterprise bean's
 meta-data information. | 
| EJBObject | The EJBObject interface is extended by all enterprise beans' remote
 interfaces. | 
| EnterpriseBean | The EnterpriseBean interface is a common superinterface for the
 SessionBean, EntityBean and MessageDrivenBean interfaces. | 
| EntityBean | The EntityBean interface is implemented by every entity bean 
 class. | 
| EntityContext | The EntityContext interface provides an instance with access to the 
 container-provided runtime context of an entity bean instance. | 
| Handle | The Handle interface is implemented by all enterprise bean object handles. | 
| HomeHandle | The HomeHandle interface is implemented by all home object handles. | 
| MessageDrivenBean | The MessageDrivenBean interface defines methods that the enterprise bean container uses
 to notify a message driven bean instance of the instance's life cycle 
 events. | 
| MessageDrivenContext | The MessageDrivenContext interface provides access to the runtime 
 message-driven context that the container provides for a message-driven
 bean instance. | 
| SessionBean | The SessionBean interface defines methods that the enterprise bean container uses
 to notify a session bean instance of the instance's life cycle events. | 
| SessionContext | The SessionContext interface provides access to the runtime session context 
 that the container provides for a session bean instance. | 
| SessionSynchronization |  The SessionSynchronization interface allows a stateful session
 bean instance to be notified by its container of transaction
 boundaries. | 
| TimedObject | The  TimedObjectinterface contains a callback method
 that is used to deliver timer expiration notifications. | 
| Timer | The  Timerinterface contains information about a timer
 that was created through the enterprise bean Timer Service. | 
| TimerHandle | The TimerHandle interface allows the bean provider to obtain a
 serializable timer handle that may be persisted. | 
| TimerService | The TimerService interface provides enterprise bean components with
 access to the container-provided Timer Service. | 
| Class | Description | 
|---|---|
| AsyncResult<V> | Wraps the result of an asynchronous method call as a  Futureobject, preserving compatability with the business interface signature. | 
| ScheduleExpression |  
 A calendar-based timeout expression for an enterprise bean
 timer. | 
| TimerConfig | TimerConfig is used to specify additional timer configuration settings during
 timer creation. | 
| Enum | Description | 
|---|---|
| ConcurrencyManagementType | Used to specify the value of the  ConcurrencyManagementannotation
 for a singleton session bean. | 
| LockType | Concurrency lock type for singleton beans with container-managed concurrency. | 
| TransactionAttributeType | The enum  TransactionAttributeTypeis used with theTransactionAttributeannotation to specify whether the
 methods of a session bean or message driven bean are called with a
 valid transaction context. | 
| TransactionManagementType | The enum  TransactionManagementTypeis used with theTransactionManagementannotation to specify whether
 container-managed or bean-managed transaction management is used. | 
| Exception | Description | 
|---|---|
| AccessLocalException | An AccessLocalException is thrown to indicate that the caller does not 
 have permission to call the method. | 
| ConcurrentAccessException | A ConcurrentAccessException indicates that the client 
 has attempted an invocation on a stateful session bean or singleton bean
 while another invocation is in progress and such concurrent access
 is not allowed. | 
| ConcurrentAccessTimeoutException | This exception indicates that an attempt to concurrently access
 a stateful session or singleton bean method resulted in a timeout. | 
| CreateException | The CreateException exception must be included in the throws clauses of
 all create methods defined in an enterprise bean's home or local home
 interface. | 
| DuplicateKeyException | The DuplicateKeyException exception is thrown if an entity EJB
 object or enterprise bean local object cannot be created because an object with the
 same key already exists. | 
| EJBAccessException | This exception indicates that client access to a business
 method was denied. | 
| EJBException | The EJBException is thrown to report that the invoked
 business method or callback method could not be completed because
 of an unexpected error (e.g. | 
| EJBTransactionRequiredException | This exception indicates that a request carried a null transaction context,
 but the target object requires an active transaction. | 
| EJBTransactionRolledbackException | This exception is thrown to a remote client to indicate that the
 transaction associated with processing of the request has been
 rolled back, or marked to roll back. | 
| FinderException | The FinderException exception must be included in the throws clause
 of every finder method of an entity bean's home or local home interface. | 
| IllegalLoopbackException | This exception indicates that an attempt was made to perform an
 illegal loopback invocation. | 
| NoMoreTimeoutsException | This exception indicates that a calendar-based timer will not
 result in any more timeouts. | 
| NoSuchEJBException | A NoSuchEJBException is thrown if an attempt is made to invoke
 a business method on a stateful session or singleton object that no longer exists. | 
| NoSuchEntityException | The NoSuchEntityException exception is thrown by an entity bean 
 instance to its container to report that the invoked business method 
 or callback method could not be completed because of the underlying
 entity was removed from the database. | 
| NoSuchObjectLocalException | A NoSuchObjectLocalException is thrown if an attempt is made to invoke
 a method on a local object (local enterprise bean object or timer) that no longer exists. | 
| ObjectNotFoundException | The ObjectNotFoundException exception is thrown by a finder or select method to
 indicate that the specified enterprise bean object or local object does not exist. | 
| RemoveException | The RemoveException is thrown at an attempt to remove an
 enterprise bean object or local enterprise bean object when the enterprise bean or the
 container does not allow the enterprise bean object to be removed. | 
| TransactionRequiredLocalException | This exception is thrown to a local client to indicate that a
 request carried a null transaction context, but the target object
 requires an active transaction. | 
| TransactionRolledbackLocalException | This exception is thrown to a local client to indicate that the
 transaction associated with processing of the request has been
 rolled back, or marked to roll back. | 
| Annotation Type | Description | 
|---|---|
| AccessTimeout | Specifies the amount of time in a given time unit that a concurrent 
 access attempt should block before timing out. | 
| ActivationConfigProperty | Used to provide information to the deployer about the configuration of
 a message driven bean in its operational environment. | 
| AfterBegin | Designate a stateful session bean method to receive the after begin
 session synchronization callback. | 
| AfterCompletion | Designate a stateful session bean method to receive the after completion
 session synchronization callback. | 
| ApplicationException | Applied to an exception to denote that it is an application exception
 and should be reported to the client directly (i.e., unwrapped). | 
| Asynchronous | Used to mark a session bean method as an asynchronous method or to designate all 
 business methods of a session bean class as asynchronous. | 
| BeforeCompletion | Designate a stateful session bean method to receive the before completion
 session synchronization callback. | 
| ConcurrencyManagement | Declares a singleton session bean's concurrency management type. | 
| DependsOn | Used to express an initialization dependency between singleton
 components. | 
| EJB | Indicates a dependency on the local, no-interface, or remote view of an Enterprise Bean. | 
| EJBs | Declares multiple  EJBannotations. | 
| Init | Designates a method of a session bean that corresponds to a
  create<METHOD>method of an adapted home or
 local home interface (an interface that adapts an enterprise bean 2.1 or earlier
 EJBHome or EJBLocalHome client view respectively). | 
| Local | Declares the local business interface(s) for a session bean. | 
| LocalBean | Designates that a session bean exposes a no-interface view. | 
| LocalHome | Declares the local home or adapted local home interface
 for a session bean. | 
| Lock | Declares a concurrency lock for a singleton session bean
 with container managed concurrency. | 
| MessageDriven | Component-defining annotation for a message driven bean. | 
| PostActivate | Designates a method to receive a callback after a stateful session
 bean has been activated. | 
| PrePassivate | Designates a method to receive a callback before a stateful session
 bean is passivated. | 
| Remote | Declares the remote business interface(s) for a session bean. | 
| RemoteHome | Declares the remote home interface or adapted remote home interface
 for a session bean. | 
| Remove | Applied to a business method of a stateful session bean class to indicate
 to the container that the stateful session bean is to be removed by the
 container after completion of the method. | 
| Schedule | Schedule a timer for automatic creation with a timeout schedule based 
 on a cron-like time expression. | 
| Schedules | Applied to a timer callback method to schedule multiple calendar-based
 timers for the method. | 
| Singleton | Component-defining annotation for a singleton session bean. | 
| Startup | Mark a singleton bean for eager initialization during the application startup sequence. | 
| Stateful | Component-defining annotation for a stateful session bean. | 
| StatefulTimeout | Specifies the amount of time a stateful session bean can
 be idle (not receive any client invocations) before it
 is eligible for removal by the container. | 
| Stateless | Component-defining annotation for a stateless session bean. | 
| Timeout | Designates a method on a stateless session bean class, a singleton
 session bean class, a message driven bean class, or an enterprise bean 2.x entity bean
 class that should receive enterprise bean timer expirations for that bean. | 
| TransactionAttribute | The  TransactionAttributeannotation specifies whether
 the container is to invoke a business method within a transaction
 context. | 
| TransactionManagement | Specifies whether a session bean or message driven bean has
 container managed transactions or bean managed transactions. |