You can add a method
Which the container will invoke to find
out whether a store is necessary.
This is a jboss specific feature.
Pretty much anything that can comes from standardjboss.xml
can be overridden in jboss.xml
They use the same parser code.
Thats not the same for me: The state at the beginning of a transaction is very similar to the state at the end, so there would be very little to store, but intermediate states can be completely different. So when ejbStore is invoked after every business method very much state changes will be stored unneccessarily.
The sync-on-commit flag is missing from the jboss_3_0.dtd, so are you sure it can be overridden?
public void importJbossXml(Element element) throws DeploymentException
// everything is optional to allow jboss.xml to modify part of a configuration
// defined in standardjboss.xml
// set call logging
callLogging = Boolean.valueOf(getElementContent(getOptionalChild(element, "call-logging"), String.valueOf(callLogging))).booleanValue();
// set synchronize on commit only
syncOnCommitOnly = Boolean.valueOf(getElementContent(getOptionalChild(element, "sync-on-commit-only"), String.valueOf(syncOnCommitOnly))).booleanValue();
Raise a bug report for the dtd.
I dont understand what the code does, but it does NOT work when overridden from jboss.xml.
I made some tests setting <sync-on-commit-only> from standardjboss.xml and jboss.xml and I can see an effect only if I set the flag in standardjboss.xml.
I am quite shure that the configuration settings (other than sync-on-commit-onl>) in jboss.xml are correct.