I have an Assembler where i'm notifying another assembler of changes using DataServiceTransaction.getCurrentDataServiceTransaction();
It works with FDS 2.0.1, however when I install LCDS 2.5, I get the error below (code is following the stacktrace): 11:37:15,625 INFO [STDOUT] [Flex] [ERROR] [DataService.Transaction] Error while committing transaction: java.lang.RuntimeException:Internal error - current transaction changed out from underneath the DataServiceTransaction! stack=java.lang.RuntimeException: Internal error - current transaction changed out from underneath the DataServiceTransaction! at flex.data.DataServiceTransaction.clearCurrentTransaction(DataServiceTran\ saction.java:1779) at flex.data.DataServiceTransaction.doCommit(DataServiceTransaction.java:89\ 3) at flex.data.DataServiceTransaction.commit(DataServiceTransaction.java:348) at flex.data.DataService.serviceMessage(DataService.java:405) at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:99\ 1) at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoin\ t.java:333) at flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFil\ ter.java:111) at flex.messaging.endpoints.amf.LegacyFilter.invoke(LegacyFilter.java:158) at flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:48) at flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFilte\ r.java:67) at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFil\ ter.java:123) at flex.messaging.endpoints.AMFEndpoint.service(AMFEndpoint.java:106) at flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java:40\ 0) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica\ tionFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt\ erChain.java:173) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilte\ r.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica\ tionFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt\ erChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv\ e.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv\ e.java:178) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAs\ sociationValve.java:175) at flex.messaging.security.TomcatValve.invoke(TomcatValve.java:143) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator\ Base.java:432) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.j\ ava:74) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java\ :126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java\ :105) at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:\ 392) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.\ java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:1\ 48) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:86\ 9) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.proc\ essConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint\ .java:527) at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorker\ Thread.java:112) at java.lang.Thread.run(Thread.java:595) ----------------------------------------------------------------------- VObject vo = (VObject) myObject.toValueObject(); DataServiceTransaction txn = DataServiceTransaction.getCurrentDataServiceTransaction(); if (txn == null) //this is coming through as not null.. txn = DataServiceTransaction.begin(true); String voAss = "my-other-assembler-destination"; vo.status = DEDAppVO.Status.LOCKED.value; vo.statusMsg = msg; txn.updateItem(voAss, vo, null, null); txn.commit();