org.jboss.test.cmp2.passivation.ejb
Class RapidlyPassivatedEntityBean

java.lang.Object
  extended byorg.jboss.test.cmp2.passivation.ejb.RapidlyPassivatedEntityBean
All Implemented Interfaces:
EnterpriseBean (src) , EntityBean (src) , java.io.Serializable

public abstract class RapidlyPassivatedEntityBean
extends java.lang.Object
implements EntityBean (src)

An entity bean to test the entity activation/passivation mechanism provided by JBoss. It is associated with a container configuration which causes it to be passivated shortly after it has been accessed. It has been designed to expose the bug described at Detail:769139 entityCtx.getEJBLocalObject() returns wrong instance and Detail:742197 getEJBLocalObject() bug

See Also:
Serialized Form

Constructor Summary
RapidlyPassivatedEntityBean()
           
 
Method Summary
 void ejbActivate()
          A container invokes this method when the instance is taken out of the pool of available instances to become associated with a specific EJB object.
 java.lang.Object ejbCreate(java.lang.String s)
           
 void ejbLoad()
          A container invokes this method to instruct the instance to synchronize its state by loading it state from the underlying database.
 void ejbPassivate()
          A container invokes this method on an instance before the instance becomes disassociated with a specific EJB object.
 void ejbPostCreate(java.lang.String s)
           
 void ejbRemove()
          A container invokes this method before it removes the EJB object that is currently associated with the instance.
 void ejbStore()
          A container invokes this method to instruct the instance to synchronize its state by storing it to the underlying database.
abstract  java.lang.String getData()
           
 java.lang.Object getIdViaEJBLocalObject()
          Return the pk of the object returned by EntityContext.getEJBLocalObject()
 java.lang.Object getIdViaEJBObject()
          Return the pk of the object returned by EntityContext.getEJBObject()
abstract  void setData(java.lang.String data)
           
 void setEntityContext(EntityContext (src)  ctx)
          Set the associated entity context.
 void unsetEntityContext()
          Unset the associated entity context.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RapidlyPassivatedEntityBean

public RapidlyPassivatedEntityBean()
Method Detail

getData

public abstract java.lang.String getData()

setData

public abstract void setData(java.lang.String data)

getIdViaEJBLocalObject

public java.lang.Object getIdViaEJBLocalObject()
Return the pk of the object returned by EntityContext.getEJBLocalObject()


getIdViaEJBObject

public java.lang.Object getIdViaEJBObject()
Return the pk of the object returned by EntityContext.getEJBObject()


ejbCreate

public java.lang.Object ejbCreate(java.lang.String s)
                           throws CreateException (src) 
Throws:
CreateException (src)

ejbPostCreate

public void ejbPostCreate(java.lang.String s)

ejbActivate

public void ejbActivate()
                 throws EJBException (src) ,
                        java.rmi.RemoteException
Description copied from interface: EntityBean (src)

A container invokes this method when the instance is taken out of the pool of available instances to become associated with a specific EJB object. This method transitions the instance to the ready state.

This method executes in an unspecified transaction context.

Specified by:
ejbActivate in interface EntityBean (src)
Throws:
EJBException (src) - - Thrown by the method to indicate a failure caused by a system-level error.
java.rmi.RemoteException - - This exception is defined in the method signature to provide backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception. Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException instead of this exception.

ejbLoad

public void ejbLoad()
             throws EJBException (src) ,
                    java.rmi.RemoteException
Description copied from interface: EntityBean (src)

A container invokes this method to instruct the instance to synchronize its state by loading it state from the underlying database.

This method always executes in the transaction context determined by the value of the transaction attribute in the deployment descriptor.

Specified by:
ejbLoad in interface EntityBean (src)
Throws:
java.rmi.RemoteException - - This exception is defined in the method signature to provide backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception. Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException instead of this exception.
EJBException (src) - - Thrown by the method to indicate a failure caused by a system-level error.

ejbPassivate

public void ejbPassivate()
                  throws EJBException (src) ,
                         java.rmi.RemoteException
Description copied from interface: EntityBean (src)

A container invokes this method on an instance before the instance becomes disassociated with a specific EJB object. After this method completes, the container will place the instance into the pool of available instances.

This method executes in an unspecified transaction context.

Specified by:
ejbPassivate in interface EntityBean (src)
Throws:
java.rmi.RemoteException - - This exception is defined in the method signature to provide backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception. Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException instead of this exception.
EJBException (src) - - Thrown by the method to indicate a failure caused by a system-level error.

ejbRemove

public void ejbRemove()
               throws RemoveException (src) ,
                      EJBException (src) ,
                      java.rmi.RemoteException
Description copied from interface: EntityBean (src)

A container invokes this method before it removes the EJB object that is currently associated with the instance. This method is invoked when a client invokes a remove operation on the enterprise Bean's home interface or the EJB object's remote interface. This method transitions the instance from the ready state to the pool of available instances.

This method is called in the transaction context of the remove operation.

Specified by:
ejbRemove in interface EntityBean (src)
Throws:
java.rmi.RemoteException - - This exception is defined in the method signature to provide backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception. Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException instead of this exception.
EJBException (src) - - Thrown by the method to indicate a failure caused by a system-level error.
RemoveException (src)

ejbStore

public void ejbStore()
              throws EJBException (src) ,
                     java.rmi.RemoteException
Description copied from interface: EntityBean (src)

A container invokes this method to instruct the instance to synchronize its state by storing it to the underlying database.

This method always executes in the transaction context determined by the value of the transaction attribute in the deployment descriptor.

Specified by:
ejbStore in interface EntityBean (src)
Throws:
EJBException (src) - - Thrown by the method to indicate a failure caused by a system-level error.
java.rmi.RemoteException - - This exception is defined in the method signature to provide backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception. Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException instead of this exception.

setEntityContext

public void setEntityContext(EntityContext (src)  ctx)
                      throws EJBException (src) ,
                             java.rmi.RemoteException
Description copied from interface: EntityBean (src)

Set the associated entity context. The container invokes this method on an instance after the instance has been created.

This method is called in an unspecified transaction context.

Specified by:
setEntityContext in interface EntityBean (src)
Parameters:
ctx - - An EntityContext interface for the instance. The instance should store the reference to the context in an instance variable.
Throws:
EJBException (src) - - Thrown by the method to indicate a failure caused by a system-level error.
java.rmi.RemoteException - - This exception is defined in the method signature to provide backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception. Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException instead of this exception.

unsetEntityContext

public void unsetEntityContext()
                        throws EJBException (src) ,
                               java.rmi.RemoteException
Description copied from interface: EntityBean (src)

Unset the associated entity context. The container calls this method before removing the instance.

This is the last method that the container invokes on the instance. The Java garbage collector will eventually invoke the finalize() method on the instance.

This method is called in an unspecified transaction context.

Specified by:
unsetEntityContext in interface EntityBean (src)
Throws:
java.rmi.RemoteException - - This exception is defined in the method signature to provide backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception. Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException instead of this exception.
EJBException (src) - - Thrown by the method to indicate a failure caused by a system-level error.