You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by Irantha <ir...@wso2.com> on 2008/11/13 12:59:44 UTC
New synapse transaction mediator
Hi All,
I'm working on a 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.
WDYT?
Thanks,
Irantha
----- Original Message -----
From: "Asankha C. Perera" <as...@apache.org>
To: <de...@synapse.apache.org>
Sent: Thursday, November 13, 2008 4:12 PM
Subject: Re: Problem Running Sample 57 (Dynamic Load Balance)
> Hiranya
>> org.apache.axis2.AxisFault: The service cannot be found for the endpoint
>> reference (EPR) http://10.8.108.114:9001
>> ...
>> 2008-11-13 15:35:17,242 [-] [HttpServerWorker-1] ERROR ServerWorker Error
>> processing POST request
>> org.apache.axis2.AxisFault: The service cannot be found for the endpoint
>> reference (EPR) http://10.8.108.114:9001
>>
>> I ran a few debug sessions and found that the DynamicLoadbalanceEndpoint
>> actually performs the URL rewrite accurately and forwards the message to
>> one of the Axis2 node instances in the cluster. But the node instance
>> cannot deal with the incoming request.
> So what you mean is that the remote service does not properly reply to
> this request? If so can you post a TCPMon trace of the conversation?
>> The LoadBalanceFailOver service is properly deployed on the Axis2
>> instance too.
> What if you invoke it through the same client bypassing Synapse?
>
> asankha
>
> --
> Asankha C. Perera
> http://adroitlogic.org
>
> http://esbmagic.blogspot.com
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
> For additional commands, e-mail: dev-help@synapse.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org
Re: New synapse transaction mediator
Posted by "Asankha C. Perera" <as...@apache.org>.
Hi Irantha
> I'm working on a 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.
> WDYT?
+1
I also suggest you keep the Axis2 dev list updated about this too.. and
it'll be a good use case later on for a Axis2 service to be able to
create a new JTA transaction from within the service code. - e.g. a
http/s service invocation calls into a service implemented as an AAR
file, that creates a new JTA transaction and updates two physically
separate Databases. This might be also good for DataServices etc..
asankha
--
Asankha C. Perera
http://adroitlogic.org
http://esbmagic.blogspot.com
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org