[
https://issues.apache.org/jira/browse/JCR-2901?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andreas Zschorn updated JCR-2901:
---------------------------------
Description:
during the cleanup (returning to the pool) of an jca managed connection, an
new internal session is created in the object JCAManagedConnection in the
method cleanup, this is supposed to fix JCR-2523, The sideeffect is, that the
XA-Resource (variable-xaResource) in JCAManagedConnection is not anymore the
same XASessionImpl Object like the session Object. Subsequent calls on this
connection, lead that the internal session variable is not anymore informed
about the current transaction context. (XAItemStateManager, variables tx and
txLog are null), because only the xaResource is informed about the new
transaction context. Result is that the complete transaction handling does not
work anymore.
I attached a sample project which shows this behaviour.
was:
during the cleanup (returning to the pool) of an jca managed connection, an
new internal session is created in the object JCAManagedConnection in the
method cleanup, this is supposed to fix JCR-2523, The sideeffect is, that the
XA-Resource (variable-xaResource) in JCAManagedConnection is not anymore the
same XASessionImpl Object like the session Object. Subsequent calls on this
connection, lead that the internal session variable is not anymore informed
about the current transaction context. (XAItemStateManager, variables tx and
txLog are null), because only the xaResource is informed about the new
transaction context.
I attached a sample project which shows this behaviour.
> JCR-2523 break the transaction handling in container managed environment
> ------------------------------------------------------------------------
>
> Key: JCR-2901
> URL: https://issues.apache.org/jira/browse/JCR-2901
> Project: Jackrabbit Content Repository
> Issue Type: Bug
> Components: jackrabbit-jca
> Affects Versions: 2.1.3, 2.2.4
> Environment: Container managed transactions on jboss 4.2.3 with
> spring-jcr-modules
> Reporter: Andreas Zschorn
> Priority: Blocker
> Labels: Transaction,, container, managed
> Attachments: testproject.zip
>
>
> during the cleanup (returning to the pool) of an jca managed connection, an
> new internal session is created in the object JCAManagedConnection in the
> method cleanup, this is supposed to fix JCR-2523, The sideeffect is, that the
> XA-Resource (variable-xaResource) in JCAManagedConnection is not anymore the
> same XASessionImpl Object like the session Object. Subsequent calls on this
> connection, lead that the internal session variable is not anymore informed
> about the current transaction context. (XAItemStateManager, variables tx and
> txLog are null), because only the xaResource is informed about the new
> transaction context. Result is that the complete transaction handling does
> not work anymore.
> I attached a sample project which shows this behaviour.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira