[JBoss JIRA] (JBTM-974) Allow callback invocation for multiple business method invocations
by Paul Robinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-974?page=com.atlassian.jira.plugin.s... ]
Paul Robinson updated JBTM-974:
-------------------------------
Summary: Allow callback invocation for multiple business method invocations (was: Allow single lifecycle invocation for multiple ServiceRequest invocations)
> Allow callback invocation for multiple business method invocations
> ------------------------------------------------------------------
>
> Key: JBTM-974
> URL: https://issues.jboss.org/browse/JBTM-974
> Project: JBoss Transaction Manager
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: TXFramework
> Reporter: Paul Robinson
> Labels: TXFramework
> Fix For: 5.0.0.Final
>
>
> By setting the 'single' attribute on a Lifecycle Handler Annotation (such as @Prepare or @Compensate) identifies whether more than one callback can be registered for the lifecycle method in response to multiple invocations of the ServiceRequest method. If it is true then the lifecycle method will be called once to the ServiceRequest method. If it is false then the lifecycle method will be called once in response to each (non-read only) call to the ServiceRequest method. The default is 'false'.
> Annotation:
> {code}
> @Retention(RetentionPolicy.RUNTIME)
> @Target(ElementType.METHOD)
> public @interface Compensate
> {
> public boolean single() default false;
> }
> {code}
> Example:
> {code}
> @ServiceRequest
> public void addToBasket()
> {
> //Add another item to the basket.
> }
> @Compensate(single=true)
> public void emptyBasket()
> {
> //Empty every item from the basket
> }
> {code}
> In this example the @ServiceRequest may be invoked many times to add many items to the basket. The @Compensate method is only needed to be invoked once as the basket can be emptied in one operation.
--
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, 4 months
[JBoss JIRA] (JBTM-1467) Create a set of Koans for using Compensations
by Paul Robinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-1467?page=com.atlassian.jira.plugin.... ]
Paul Robinson updated JBTM-1467:
--------------------------------
Fix Version/s: 6.0.0.Final
(was: 5.0.0.Final)
> Create a set of Koans for using Compensations
> ---------------------------------------------
>
> Key: JBTM-1467
> URL: https://issues.jboss.org/browse/JBTM-1467
> Project: JBoss Transaction Manager
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: TXFramework, XTS
> Reporter: Paul Robinson
> Fix For: 6.0.0.Final
>
>
> In the spirit of http://rubykoans.com/, but to learn how to use compensations.
> In the long term we should use a Java EE Koan 'runner'. In the short term, try using Arquillian with some broken tests. We could do something to intercept logs for an appropriate error message to present the user.
> Might also be worth having Arquillian stop on a failed test to prevent too many failures swamping the user.
--
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, 4 months
[JBoss JIRA] (JBTM-1468) Support pure-JTA client and server for WS-AT and REST-AT
by Paul Robinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-1468?page=com.atlassian.jira.plugin.... ]
Paul Robinson updated JBTM-1468:
--------------------------------
Fix Version/s: 6.0.0.Final
(was: 5.0.0.Final)
> Support pure-JTA client and server for WS-AT and REST-AT
> --------------------------------------------------------
>
> Key: JBTM-1468
> URL: https://issues.jboss.org/browse/JBTM-1468
> Project: JBoss Transaction Manager
> Issue Type: Enhancement
> Security Level: Public(Everyone can see)
> Components: REST, XTS
> Reporter: Paul Robinson
> Assignee: Paul Robinson
> Priority: Minor
> Fix For: 6.0.0.Final
>
> Original Estimate: 2 days
> Remaining Estimate: 2 days
>
> This allows the Client and server application to just use the JTA APIs, whilst having the distribution done over WS-AT or REST-AT.
> To do this we need to:
> # Remove @Transactional annotation. We then need to use some other mechanism to support the (optional) WS-AT participants that want to use annotations.
> # Client side JTA->REST-AT bridge. Needs implementing.
> # Server side REST-AT->JTA bridge. Needs integrating into code base.
> # Update the TXBridge quickstarts to use this and move them out.
--
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, 4 months
[JBoss JIRA] (JBTM-1507) Review the TXBridge tests usage of Arquillian
by Paul Robinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-1507?page=com.atlassian.jira.plugin.... ]
Paul Robinson updated JBTM-1507:
--------------------------------
Fix Version/s: 6.0.0.Final
(was: 5.0.0.Final)
> Review the TXBridge tests usage of Arquillian
> ---------------------------------------------
>
> Key: JBTM-1507
> URL: https://issues.jboss.org/browse/JBTM-1507
> Project: JBoss Transaction Manager
> Issue Type: Enhancement
> Security Level: Public(Everyone can see)
> Components: Testing, TxBridge
> Reporter: Paul Robinson
> Assignee: Paul Robinson
> Priority: Minor
> Fix For: 6.0.0.Final
>
> Original Estimate: 2 days
> Remaining Estimate: 2 days
>
> The TXBridge tests don;t seem to be using Arquillian correctly. There is a servlet that is invoked to do things inside the container. As the tests (should) now run in the container, this should not be needed.
> The tests also seem to have added complexity due to the recovery tests. As the recovery tests need to be able to kill the container, it mandates manual container lifecycle management for *all* tests. We may want to pull out the recovery tests into a separate module.
> We also may want to pull out the DisabledContextPropagationTest into a separate module as they use a modified AS configuration.
> We should also take a general look at how the tests are structured and using Arq.
--
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, 4 months
[JBoss JIRA] (JBTM-1422) Deployment failure because of missing service dependencies
by Paul Robinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-1422?page=com.atlassian.jira.plugin.... ]
Paul Robinson resolved JBTM-1422.
---------------------------------
Fix Version/s: 5.0.0.M5
(was: 5.0.0.Final)
Resolution: Out of Date
This only happened once and it's not happened in over 7 months.
> Deployment failure because of missing service dependencies
> ----------------------------------------------------------
>
> Key: JBTM-1422
> URL: https://issues.jboss.org/browse/JBTM-1422
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Testing, XTS
> Reporter: Gytis Trikleris
> Assignee: Paul Robinson
> Priority: Minor
> Fix For: 5.0.0.M5
>
>
> See: http://172.17.131.2/job/narayana/141
> {noformat}
> org.jboss.as.test.xts.simple.wsba.participantcompletion.client.WSBAParticipantCompletionTestCase Time elapsed: 16103 sec <<< ERROR!
> org.jboss.arquillian.container.spi.client.container.DeploymentException: Cannot deploy: wsba-participant-completion.war
> at org.jboss.as.arquillian.container.ArchiveDeployer.deployInternal(ArchiveDeployer.java:83)
> at org.jboss.as.arquillian.container.ArchiveDeployer.deployInternal(ArchiveDeployer.java:64)
> ...
> Caused by: java.lang.Exception: {
> "JBAS014771: Services with missing/unavailable dependencies" => ["jboss.module.service.\"deployment.wsba-participant-completion.war\".main is missing [jboss.module.spec.service.\"deployment.arquillian-service\".main]"],
> "JBAS014879: One or more services were unable to start due to one or more indirect dependencies not being available." => {
> "Services that were unable to start:" => ["jboss.deployment.unit.\"wsba-participant-completion.war\".FIRST_MODULE_USE"],
> "Services that may be the cause:" => [
> "jboss.module.spec.service.\"deployment.arquillian-service\".main",
> "jboss.txn.TransactionSynchronizationRegistry",
> "jboss.txn.UserTransactionRegistry"
> ]
> }
> }
> ...
> {noformat}
> {noformat}
> org.jboss.as.test.xts.simple.wsat.client.WSATTestCase Time elapsed: 1846 sec <<< ERROR!
> org.jboss.arquillian.container.spi.client.container.DeploymentException: Cannot deploy: wsat.war
> at org.jboss.as.arquillian.container.ArchiveDeployer.deployInternal(ArchiveDeployer.java:83)
> ...
> Caused by: java.lang.Exception: {
> "JBAS014771: Services with missing/unavailable dependencies" => ["jboss.module.service.\"deployment.wsat.war\".main is missing [jboss.module.spec.service.\"deployment.arquillian-service\".main]"],
> "JBAS014879: One or more services were unable to start due to one or more indirect dependencies not being available." => {
> "Services that were unable to start:" => ["jboss.deployment.unit.\"wsat.war\".FIRST_MODULE_USE"],
> "Services that may be the cause:" => [
> "jboss.module.spec.service.\"deployment.arquillian-service\".main",
> "jboss.txn.TransactionSynchronizationRegistry",
> "jboss.txn.UserTransactionRegistry"
> ]
> }
> }
> ...
> {noformat}
--
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, 4 months
[JBoss JIRA] (JBTM-1099) WS-BA to 2xJTA bridge
by Paul Robinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-1099?page=com.atlassian.jira.plugin.... ]
Paul Robinson updated JBTM-1099:
--------------------------------
Fix Version/s: 6.0.0.Final
(was: 5.0.0.Final)
> WS-BA to 2xJTA bridge
> ---------------------
>
> Key: JBTM-1099
> URL: https://issues.jboss.org/browse/JBTM-1099
> Project: JBoss Transaction Manager
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: TXFramework
> Reporter: Paul Robinson
> Labels: assign
> Fix For: 6.0.0.Final
>
> Original Estimate: 1 week
> Time Spent: 3 hours
> Remaining Estimate: 4 days, 5 hours
>
> It is likely that a WS using WS-BA will use a JTA transaction in the service, Compensate and Close methods. The problem is that failure windows exist in this scenario. For example, when a JTA transaction is committed in the service method, a failure before confirmCompleted(true) is invoked will result in this commit not being compensated.
> There may be other windows in Compensate and Close. This needs investigating.
> The WS-BA to JTA bridge would ensure that the transaction is not committed until confirmCompleted(true) is invoked. It should do something similar for Compensate and Close.
> This would need extensive testing, including crash recovery. The WS-AT JTA bridge (TXBridge) can be used as an example, as I believe it will have a lot in common.
--
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, 4 months