You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Grzegorz Grzybek (Jira)" <ji...@apache.org> on 2022/09/30 12:05:00 UTC
[jira] [Closed] (ARIES-2075) transaction-blueprint Coordinations should check existing TX
[ https://issues.apache.org/jira/browse/ARIES-2075?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Grzegorz Grzybek closed ARIES-2075.
-----------------------------------
> transaction-blueprint Coordinations should check existing TX
> ------------------------------------------------------------
>
> Key: ARIES-2075
> URL: https://issues.apache.org/jira/browse/ARIES-2075
> Project: Aries
> Issue Type: Bug
> Affects Versions: transaction-blueprint-2.3.0
> Reporter: Grzegorz Grzybek
> Assignee: Grzegorz Grzybek
> Priority: Major
> Fix For: transaction-blueprint-2.3.1
>
>
> I have this unannotated method:
> {code:java}
> transactionManager.begin();
> try {
> nestedTestService.testExternalTransaction();
> } finally {
> transactionManager.rollback();
> }
> {code}
> And this annotated {{nestedTestService.testExternalTransaction()}}:
> {code:java}
> @Transactional(TxType.REQUIRED)
> public void testExternalTransaction() {
> TestEntity testEntity = testDao.createNew();
> ...
> {code}
> While the dao uses this EntityManager with the support from {{<jpa:enable />}}:
> {code:java}
> @PersistenceContext(unitName = "unit.1")
> private EntityManager entityManager;
> {code}
> The problem is that after ARIES-2050 fixes, {{org.apache.aries.transaction.TxInterceptorImpl#preCall()}} is not blindly creating new coordination if there's existing transaction.
> ARIES-2050 fix was not complete (see also ARIES-2073) but also I've mishandled the scenario where transaction is created not by another {{TxInterceptorImpl.preCall()}}, but by manual {{javax.transaction.TransactionManager#begin()}} invocation.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)