ofbiz-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From 叶双明 <yeshuangm...@gmail.com>
Subject Re: Why create transaction in Event?
Date Tue, 26 Jul 2016 07:58:51 GMT
Sorry, my code is base on newest in branch release13.07, after release
13.07.03.

2016-07-26 15:02 GMT+08:00 叶双明 <yeshuangming@gmail.com>:

> 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. :(
>
>
> --
> 叶双明
>



-- 
叶双明

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message