synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Asankha C. Perera (JIRA)" <j...@apache.org>
Subject [jira] Commented: (SYNAPSE-480) Transaction mediator for synapse
Date Sun, 16 Nov 2008 17:23:52 GMT

    [ https://issues.apache.org/jira/browse/SYNAPSE-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12647998#action_12647998
] 

Asankha C. Perera commented on SYNAPSE-480:
-------------------------------------------

The most common case would be a transactional receipt and processing of a message, where a
rollback should imply the message being returned to the source for a subsequent retry. 

A JTA transaction is only useful when more than one resource is involved, and the most common
being JMS and DB's. Thus, the value of a transactional sequence (which is a list) would be
reduced, since this implies that the message was not received transactionally - e.g. maybe
over http/s. Thus the proposed mediator seems like a good first step, as it allows one to
realize the benefits of transactionality, without burning it too much into the core.

> Transaction mediator for synapse
> --------------------------------
>
>                 Key: SYNAPSE-480
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-480
>             Project: Synapse
>          Issue Type: New Feature
>          Components: Core
>    Affects Versions: FUTURE
>            Reporter: irantha suwandarathna
>             Fix For: FUTURE
>
>         Attachments: tx_mediator.patch
>
>
> New synapse mediator to manipulate JTA transactions. 
>  
> syanpse.xml configuration for new mediator:
> <transaction action="new|use-existing-or-new|fault-if-no-tx|commit|rollback|suspend|resume"/>
>  
> Meaning of action attribute values are explained below:
> new : create a new jta transaction. generate a fault if a transaction already exist.
> use-existing-or-new : create a new jta transaction. do nothing if a transaction exist.
> fault-if-no-tx : generate a fault if no transaction exist.  do nothing if a transaction
exist.
> commit : commit transaction. generate a fault if no transaction exist.
> rollback: rollback transaction. generate a fault if no transaction exist.
> suspend: suspend transaction. generate a fault if no transaction exist.
> resume: resume transaction. generate a fault if no transaction exist.
>  
> There will be a new transaction configuration section in axis2.xml to define UserTransaction
(used to create a new transaction) and TransactionManager (need for suspend and resume actions
) JNDI parameters.
> newly created usertransaction is assigned to axis2 message context property named BaseConstants.USER_TRANSACTION
and newly created transaction manager is assigned to axis2 message context property named
BaseConstants.TRANSACTION_MANAGER
>  
> Same message context property is used by JMS transport when creating a new usertransaction.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org


Mime
View raw message