Sorry, my code is base on newest in branch release13.07, after release 13.07.03.
2016-07-26 15:02 GMT+08:00 叶双明 <[email protected]>: > Hi all: > > After update ofbiz to 13.07.03, our system was Unstable. At last, I found > the cause was The transaction created in Event, introduced in revision > 1,740,632. > And found https://issues.apache.org/jira/browse/OFBIZ-6808. > But I doubt whether it is good to do this. > > In my opinion: > > 1. It would make more long-running transaction. > For example, there was a event which call three services, the three > services has their own transaction before the change, but now there is one > big transaction for the event and three services, of course the transaction > would run longer time. > > 2. It would make a lots of transaction run longer time. > Almost all event would do something else after call service, for > example, convert the result from service to JSON format, but the conversion > not need transaction! > > 3. It makes it difficult to manage transactions between services and > events. > For example, there was a event: > > public String createOrder() { > > //some business process here... and define serviceCtx > > def results = dispatcher.runSync("createOrder", serviceCtx) > > //some business process here... and return success or error at last > > } > > after call createOrder service success, i want to fire a jms > service(call it jmsIndexOrder) to index the order in Elasticsearch。 > I use secas before the change, everything work well. > > <eca service=“createOrder” event="return"> > <action service="jmsIndexOrder" mode="sync"/> > </eca> > > > but now i don't know where ant how to call jmsIndexOrder. :( > > > -- > 叶双明 > -- 叶双明
