I am trying to force my CMP to be persisted when they are created. So, in my ejbCreate() method I am setting my isDirty flag to "true". Now the container is calling ejbStore(), but fails with the exception
Remote Exception EJB Exception: ; nested exception is:
weblogic.transaction.RollbackException: Unexpected exception in beforeCompletion: sync = weblogic.ejb20.internal.TxManager$TxListener@1b300d85
Error writing from beforeCompletion - with nested exception:
[weblogic.utils.NestedRuntimeException: Error writing from beforeCompletion - with nested exception:
[java.rmi.NoSuchObjectException: Exception from ejbStore:javax.ejb.NoSuchEntityException: Bean with primary key: '122344|2000-01-01 00:00:00.0|2001-07-18 14:41:41.453:|:' not found.]]
How can I fix this.
Does the ejbcreate method work without the use of the isdirty flag? Did you also change the weblogic descriptor file to take advantage of your isdirty flag?
Yep! ejbCreate() method does work when I don't set the flag to true. I have this defined in my deployment files.
Actually, the documentation says ejbStore() writes the entity beans to database. What are the details of its steps.
Does it write to database and then try to reload load it and make the memory in sync with database?
If I want to make sure that my CMP is getting stored in database as soon as ejbPostCreate() is done what should I do? I am using weblogic6.0sp1.