ejbStore: to call or not to call?
By the specification the container is required to call ejbStore method on the instance when transaction commits even if the instance was not modified in the transaction. With call-ejb-store-on-clean element in jboss.xml in container-configuration you can instruct the container to not call ejbStore on clean instances. For example
<container-configuration extends="Standard CMP 2.x EntityBean"> <container-name>custom container</container-name> <call-ejb-store-on-clean>false</call-ejb-store-on-clean> </container-configuration>
The default value since 3.2.6RC2 is true.
NOTE! Till version 3.2.3 the container called ejbStore on clean instances. In 3.2.4 this was optimized to not call ejbStore on clean instances as users requested (there were even bug reports on this). In version 3.2.5 we got a bug report requiring to call ejbStore on clean instances as in the spec. So now it is configurable and the default behaviour is spec compliant, i.e. the container calls ejbStore at commit time on clean instances.