[JBoss JIRA] (JBTM-1715) NPE when using CompensationManager within an in-flowed WS-BA transaction
by Paul Robinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-1715?page=com.atlassian.jira.plugin.... ]
Paul Robinson updated JBTM-1715:
--------------------------------
Fix Version/s: 6.0.0.Final
(was: 5.0.0.Final)
> NPE when using CompensationManager within an in-flowed WS-BA transaction
> ------------------------------------------------------------------------
>
> Key: JBTM-1715
> URL: https://issues.jboss.org/browse/JBTM-1715
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: TXFramework
> Reporter: Paul Robinson
> Assignee: Paul Robinson
> Priority: Minor
> Fix For: 6.0.0.Final
>
> Original Estimate: 4 hours
> Remaining Estimate: 4 hours
>
> The following error occurs if an injected CompensationManager is invoked within the scope of a compensation-based transaction that was in-flowed via a WS-BA transaction.
> {quote}
> 16:17:09,879 ERROR [org.jboss.as.ejb3.invocation] (default task-18) JBAS014134: EJB Invocation failed on component TestServiceService for method public void org.jboss.narayana.compensations.functiona[617/9100]
> ted.TestServiceService.saveDataCancelOnFailure(java.lang.Boolean): javax.ejb.EJBException: java.lang.NullPointerException
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:166) [wildfly-ejb3-8.0.0.Alpha2-SNAPSHOT.jar:8.0.0.Alpha2-SNAPSHOT]
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:251) [wildfly-ejb3-8.0.0.Alpha2-SNAPSHOT.jar:8.0.0.Alpha2-SNAPSHOT]
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:316) [wildfly-ejb3-8.0.0.Alpha2-SNAPSHOT.jar:8.0.0.Alpha2-SNAPSHOT]
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:215) [wildfly-ejb3-8.0.0.Alpha2-SNAPSHOT.jar:8.0.0.Alpha2-SNAPSHOT]
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:289)
> at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) [wildfly-ejb3-8.0.0.Alpha2-SNAPSHOT.jar:8.0.0.Alpha2-SNAPS
> HOT]
> {quote}
--
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
12 years, 7 months
[JBoss JIRA] (JBTM-1859) Remove classname Strings from XTS subsystem
by Paul Robinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-1859?page=com.atlassian.jira.plugin.... ]
Paul Robinson updated JBTM-1859:
--------------------------------
Fix Version/s: 6.0.0.Final
(was: 5.0.0.Final)
> Remove classname Strings from XTS subsystem
> -------------------------------------------
>
> Key: JBTM-1859
> URL: https://issues.jboss.org/browse/JBTM-1859
> Project: JBoss Transaction Manager
> Issue Type: Task
> Security Level: Public(Everyone can see)
> Components: Application Server Integration, XTS
> Reporter: Paul Robinson
> Assignee: Paul Robinson
> Priority: Minor
> Fix For: 6.0.0.Final
>
> Original Estimate: 4 hours
> Remaining Estimate: 4 hours
>
> THe XTS SubSystem has many classnames passed to Jandex as raw Strings. It would be better to use Class#getName as it is type-safe.
> When this code was written, this was not possible, due to the nature of the order in which class-loading was done and the fact that the code in question was executed very early in the server boot. I don't remember the specific details.
> However, something seems to have changed in WildFly, such that we can now use Class#getName on the classes we require. This issue it to replace all the classname Strings with Class#getName() and to also simplify the code under org.jboss.as.xts.jandex, as a lot of that verbose code was added to to cope with the limitation of not being able to use Class#getName().
--
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
12 years, 7 months
[JBoss JIRA] (JBTM-1705) Remove CDIExtensionProcessor in the XTS subsytem
by Paul Robinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-1705?page=com.atlassian.jira.plugin.... ]
Paul Robinson updated JBTM-1705:
--------------------------------
Fix Version/s: 6.0.0.Final
(was: 5.0.0.Final)
> Remove CDIExtensionProcessor in the XTS subsytem
> ------------------------------------------------
>
> Key: JBTM-1705
> URL: https://issues.jboss.org/browse/JBTM-1705
> Project: JBoss Transaction Manager
> Issue Type: Task
> Security Level: Public(Everyone can see)
> Components: XTS
> Reporter: Paul Robinson
> Assignee: Paul Robinson
> Priority: Minor
> Fix For: 6.0.0.Final
>
> Original Estimate: 4 hours
> Remaining Estimate: 4 hours
>
> WFLY-1370 removes the need for the CDIExtensionProcessor in the XTS subsytem.
> There is currently a hack in CDIExtensionProcessor in 5_BRANCH. This MUST be removed if WFLY-1370 is not merged in time for release. Hence I have marked this as critical.
--
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
12 years, 7 months
[JBoss JIRA] (JBTM-1680) Allow 2PC participants to enlist in a compensation-based transaction
by Paul Robinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-1680?page=com.atlassian.jira.plugin.... ]
Paul Robinson updated JBTM-1680:
--------------------------------
Fix Version/s: 6.0.0.Final
(was: 5.0.0.Final)
> Allow 2PC participants to enlist in a compensation-based transaction
> --------------------------------------------------------------------
>
> Key: JBTM-1680
> URL: https://issues.jboss.org/browse/JBTM-1680
> Project: JBoss Transaction Manager
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: TXFramework, XTS
> Reporter: Paul Robinson
> Assignee: Paul Robinson
> Priority: Minor
> Fix For: 6.0.0.Final
>
> Original Estimate: 1 week
> Remaining Estimate: 1 week
>
> In some situations a developer may need to coordinate multiple resources, where some are 2PC and some are not. Here it could be possible to use enlist the 2PC participants in a compensation-based transaction. The xa.prepare happens in the complete phase, the xa.commit during close and xa.rollback during compensate.
> This could provide an alternative to LRCO, where the last resource is compensation-based and the other resources remain 2PC. The benefit of this approach is that the failure window associated with LRCO does not exist. The negative of this approach is that the isolation of the compensation-based participant is reduced.
--
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
12 years, 7 months
[JBoss JIRA] (JBTM-1680) Allow 2PC participants to enlist in a compensation-based transaction
by Paul Robinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-1680?page=com.atlassian.jira.plugin.... ]
Paul Robinson edited comment on JBTM-1680 at 8/27/13 10:48 AM:
---------------------------------------------------------------
Pushing to 6.0.0.Final. Will pull forward if the MongoDB work needs it.
was (Author: paul.robinson):
Pushing to 5.0.0.Final. Will pull forward if the MongoDB work needs it.
> Allow 2PC participants to enlist in a compensation-based transaction
> --------------------------------------------------------------------
>
> Key: JBTM-1680
> URL: https://issues.jboss.org/browse/JBTM-1680
> Project: JBoss Transaction Manager
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: TXFramework, XTS
> Reporter: Paul Robinson
> Assignee: Paul Robinson
> Priority: Minor
> Fix For: 6.0.0.Final
>
> Original Estimate: 1 week
> Remaining Estimate: 1 week
>
> In some situations a developer may need to coordinate multiple resources, where some are 2PC and some are not. Here it could be possible to use enlist the 2PC participants in a compensation-based transaction. The xa.prepare happens in the complete phase, the xa.commit during close and xa.rollback during compensate.
> This could provide an alternative to LRCO, where the last resource is compensation-based and the other resources remain 2PC. The benefit of this approach is that the failure window associated with LRCO does not exist. The negative of this approach is that the isolation of the compensation-based participant is reduced.
--
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
12 years, 7 months
[JBoss JIRA] (JBTM-984) Support @Recover and @RecoverComplete annotations in the TXFramework
by Paul Robinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-984?page=com.atlassian.jira.plugin.s... ]
Paul Robinson resolved JBTM-984.
--------------------------------
Assignee: Paul Robinson
Fix Version/s: 5.0.0.M5
(was: 5.0.0.Final)
Resolution: Won't Fix
This seems too low-level. Recovery should be transparent to the user; which I think should be possible with the @CompensationScoped beans.
> Support @Recover and @RecoverComplete annotations in the TXFramework
> --------------------------------------------------------------------
>
> Key: JBTM-984
> URL: https://issues.jboss.org/browse/JBTM-984
> Project: JBoss Transaction Manager
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: TXFramework
> Reporter: Paul Robinson
> Assignee: Paul Robinson
> Labels: TXFramework
> Fix For: 5.0.0.M5
>
>
> LifecycleHandler classes can use the METHOD annotations @Recover and @RecoverComplete to perform recovery. @Recover's method should be called for each recovered object before allowing lifecycle processing to proceed for participants recovered from the log. The second method should be called once all recovered participants have completed, allowing the LifecycleHandler class to clear up records for transactions which were not resolved by recovery processing.
> The target method for an @Recover annotation should have void type and take a single argument which should be type-compatible with the type of any saved object.
> The target method for an @RecoverComplete annotation should have void type and take no arguments.
> The recovery mechanism which needs to reload saved objects and presents them back to the service class during recovery processing as a precursor to actually running lifecycle callbacks for recovered transactions. This is done through the Control interface:
> {code}
> public interface TxControl
> {
> public String storeObject(Serializable object);
> public boolean deleteObject(String identifier);
> }
> {code}
--
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
12 years, 7 months