You can configure your EntityBean instances to bypass an
invocation of the ejbStore method if they have not been modified during
the current transaction.
About this task
There are two options available for indicating that a particular
Enterprise JavaBeans (EJB)
type should only have its ejbStore method invoked if the bean has
been modified during the current transaction:
- Set an EJB environment variable within the bean's deployment descriptor
- Have the bean implementation class implement a marker interface.
This second technique is especially useful if you have a number of
bean implementations that all extend a single root class; in this
case you may have the root class implement the marker interface, causing
all beans that extend this class to inherit the behavior as well.
Procedure
- To use the EJB environment variable technique, edit
the EJB deployment descriptor using any standard Java™ Platform, Enterprise Edition (Java EE)
development tool. Use the following steps as a guide. For more information,
see the topic about assembly tools.
- Start the tool.
- Select the EJB deployment descriptor of the bean you
want to work with.
- Create an EJB environment variable with the name com/ibm/websphere/ejbcontainer/disableEJBStoreForNonDirtyBeans.
- Set the type of this variable to java.lang.Boolean.
- Set the value to True to avoid the ejbStore invocation,
or False to enable the default behavior.
- Save your changes.
- To use a marker interface, code your bean implementation
class to implement the com.ibm.websphere.ejbcontainer.DisableEJBStoreForNonDirtyBeans interface. The bean implementation class need not directly implement the
interface; any parent class can implement the interface. See the com.ibm.websphere.ejbcontainer package
in the section of the information center.