[jira] [Comment Edited] (OFBIZ-5183) Using require-new-transaction=true in a service called (maybe not directly) by a pre-invoke or earlier event is not yet suported in OFBiz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Comment Edited] (OFBIZ-5183) Using require-new-transaction=true in a service called (maybe not directly) by a pre-invoke or earlier event is not yet suported in OFBiz

Nicolas Malin (Jira)

    [ https://issues.apache.org/jira/browse/OFBIZ-5183?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13638935#comment-13638935 ]

Jacques Le Roux edited comment on OFBIZ-5183 at 4/23/13 2:39 PM:
-----------------------------------------------------------------

I see three possible steps
# For now, comment in the require-new-transaction documentation in services.xsd, to prevent bad surprises, also for ECA called async...
# Mid term solution: allow require-new-transaction=true to work as currently designed also for pre-invoke or earlier events and for ECA called async. This is a to be investigated might be not as easy as said..
# Long term solution: allow to put a timeout in any service withouth having to use require-new-transaction.
               
      was (Author: jacques.le.roux):
    I see three possible steps
# For now, comment in the require-new-transaction documentation in services.xsd, to prevent bad surprises
# Allow the functionnality to work as currently designed. This is a mid term solution to be investigated.
# Allow to put a timeout in any service withouth having to use require-new-transaction. I guess this one is certainly a long term solution...
                 

> Using require-new-transaction=true in a service called (maybe not directly) by a pre-invoke or earlier event is not yet suported in OFBiz
> -----------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: OFBIZ-5183
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-5183
>             Project: OFBiz
>          Issue Type: Bug
>          Components: framework
>    Affects Versions: Release Branch 10.04, Release Branch 11.04, SVN trunk, Release Branch 12.04
>            Reporter: Jacques Le Roux
>            Priority: Minor
>
> I got bitten by this TODO in ServiceDispatcher.runSync()
> To set timeouts in OFBiz for services called inside of other services you have to add the <<require-new-transaction=true>> attribute to the called services definitions. This has a side effect in some cases. Because of a non completed feature in OFBiz:
> {code}
> // TODO: if there is an ECA called async or in a new transaction it won't get rolled back
> //but will be called again, which means the service may complete multiple times! that would be for
> //pre-invoke and earlier events only of course
> {code}
> Of course, using ECA called async will have the same effect (not in title)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira