Hi, Can you packe your sample with a unit test please? Le 22 janv. 2013 08:09, "BKumar" <[email protected]> a écrit :
> Hi All, > > This is related to CMP2.1 on tomee+. > > I am getting Optimisticlockexception. When calling remove for both child > and parent. > > 1. I am getting below exception when I call remove on both > "RuleConditionBean"(Child) and "RuleBean"(parent). > 2. I don't get exception when I all remove only on RuleBean(Parent). > > As I want to follow the first way only because don't want to change my > existing code. > > openejb-orm.xml: > > <entity class="openejb.com.rage.rule.dal.ejb.RuleBean" name="RuleBean"> > <description>Rule#RuleBean</description> > > > > <named-query > > name="RuleBean.findByRuleNameAppId(java.lang.String,java.lang.Integer)"> > <query>SELECT OBJECT(r) FROM RuleBean AS r WHERE > (r.rule_Name = ?1 AND > r.appl_Seq_Id = ?2)</query> > </named-query> > > <attributes> > <id name="rule_Seq_Id"> > <column name="RULE_SEQ_ID" /> > <generated-value strategy="TABLE" > generator="RD_SEQUENCE" /> > </id> > <basic name="appl_Seq_Id"> > <column name="APPL_SEQ_ID" /> > </basic> > <basic name="rule_Name"> > <column name="RULE_NAME" /> > </basic> > > <one-to-many mapped-by="rule" > name="ruleConditions"> > <cascade> > <cascade-All/> > </cascade> > </one-to-many> > </attributes> > </entity> > <entity class="openejb.com.rage.rule.dal.ejb.RuleConditionBean" > name="RuleConditionBean"> > <description>Rule#RuleConditionBean</description> > > > <id-class class="com.rage.rule.dal.ejb.RuleConditionPK" /> > <named-query > name="RuleConditionBean.findByRuleKey(java.lang.Integer)"> > <query>SELECT OBJECT(r) FROM RuleConditionBean AS > r WHERE r.rule_Seq_Id = > ?1</query> > </named-query> > <attributes> > <id name="rule_Seq_Id"> > <column updatable="false" > name="RULE_SEQ_ID" /> > </id> > <id name="cond_Paramseq_No"> > <column updatable="false" > name="COND_PARAMSEQ_NO" /> > </id> > > <basic name="cond_Lhs"> > <column name="COND_LHS" /> > </basic> > > <many-to-one optional="true" name="rule"> > <join-column nullable="false" > name="RULE_SEQ_ID" /> > > </many-to-one> > </attributes> > </entity> > > ----------------------------------------------------------------------------- > > WARNING: Unexpected exception from beforeCompletion; transaction will roll > back > <openjpa-2.2.0-r422266:1244990 nonfatal store error> > org.apache.openjpa.persistence.Optimi > sticLockException: Optimistic locking errors were detected when flushing to > the data store > . The following objects may have been concurrently modified in another > transaction: [open > ejb.com.rage.rule.dal.ejb.RuleConditionBean-Rule Condition: Id = > 15285Sequence No. = 1] > at > > org.apache.openjpa.kernel.BrokerImpl.newFlushException(BrokerImpl.java:2326) > at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2174) > at > org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2072) > at > org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1990) > at > > org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(Transa > ctionImpl.java:527) > at > > org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(Transa > ctionImpl.java:512) > at > > org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(Transacti > onImpl.java:413) > at > > org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl. > java:262) > at > > org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(Transacti > onManagerImpl.java:252) > at > > org.apache.openejb.core.transaction.JtaTransactionPolicy.completeTransaction(Jt > aTransactionPolicy.java:328) > at > org.apache.openejb.core.transaction.TxRequired.commit(TxRequired.java:75) > at > > org.apache.openejb.core.transaction.EjbTransactionUtil.afterInvoke(EjbTransacti > onUtil.java:73) > at > > org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer > .java:257) > at > > org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer. > java:189) > at > > org.apache.openejb.core.ivm.EjbObjectProxyHandler.synchronizedBusinessMethod(Ej > bObjectProxyHandler.java:253) > at > > org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxy > Handler.java:248) > at > > org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler > .java:92) > at > > org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java > :279) > at $Proxy139.delete(Unknown Source) > at com.rage.rule.bizcomp.RuleHandler.service(RuleHandler.java:120) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFil > terChain.java:305) > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain > .java:210) > at > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: > 222) > at > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: > 123) > at > org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45) > at > > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.ja > va:472) > at > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) > at > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) > at > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:11 > 8) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) > at > > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processo > r.java:1004) > at > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractPr > otocol.java:589) > at > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310 > ) > at > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java: > 886) > at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > > > > > -- > View this message in context: > http://openejb.979440.n4.nabble.com/Optimi-sticLockException-Optimistic-locking-errors-were-detected-when-flushing-to-the-data-store-tp4660338.html > Sent from the OpenEJB User mailing list archive at Nabble.com. >
