[
https://issues.apache.org/jira/browse/ISIS-1452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15336134#comment-15336134
]
ASF subversion and git services commented on ISIS-1452:
-------------------------------------------------------
Commit dba0d51eb79488319e1dd1e9fe5029e0b1f39eef in isis's branch
refs/heads/master from [~danhaywood]
[ https://git-wip-us.apache.org/repos/asf?p=isis.git;h=dba0d51 ]
ISIS-1452: reinstates logic to abort transaction if an exception is thrown.
Previously (1.12.x) this was done using transaction facet decorators, but the
work done under ISIS-1291 and others for this release removed those classes,
without moving the responsibility elsewhere.
This commit reintroduces the handling, with the ActionInvocationFacet and
PropertySetterOrClearFacet using the looked-up
PersistenceSessionServiceInternal to executeWithinTransaction; this is
basically the same place in the call stack that the decorator facets would have
been.
The *Default impl of this - as used in runtime - delegates to the
IsisTransactionManager#executeWithinTransaction(...).
> Throwing an exception (for -SNAPSHOT) does not abort the transaction.
> ---------------------------------------------------------------------
>
> Key: ISIS-1452
> URL: https://issues.apache.org/jira/browse/ISIS-1452
> Project: Isis
> Issue Type: Bug
> Components: Core
> Reporter: Dan Haywood
> Assignee: Dan Haywood
> Priority: Minor
> Fix For: 1.13.0
>
>
> This relates to the earlier work in this iteration (1.13.0-SNAPSHOT) for the
> refactoring for interaction contexts.
> The responsibility for aborting the xactn in the case of an exception used to
> be performed by the transaction facet decorators. When they were removed,
> equivalent functionality was not put in its place.
> The net result being, throwing an exception still resulted in changes to
> objects being persisted.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)