I made a test with your suggestion and worked....

TransactionManager tm = (TransactionManager)
getContext().getTransactionManager();
tm.setRollbackOnly();

But how i can intercept, like a proxy, to handle this without repeat this
code in every component?


cnicolai wrote:
> 
> I`m using some customized components that extends FillePoller,
> TransformComponentSupport, ComponentSupport.... 
> But the container or the flow (jca) don`t do this when the precessing of
> an exchange fail??
> Which is the behavior when this occur...?
> 
> 
> gnodet wrote:
>> 
>> The component has to set the rollback only flag on the transaction.
>> Which component do you use ?
>> 
>> On 3/27/07, cnicolai <[EMAIL PROTECTED]> wrote:
>>>
>>>
>>> Hi guys,
>>>
>>>
>>> I'm trying to syncronize Spring DAO's transaction and ServiceMix
>>> components,
>>> everything works fine, i'm using a custom jboss-deployer where i load an
>>> jbi
>>> container from a Spring Xml. The version from  ServiceMix is 3.1. My
>>> problem
>>> is that when an Exception occurs during the processing of an exchange
>>> (onMessageExchange) from a component, the spring transaction is commited
>>> in
>>> the database.
>>> To control the transacion manager i configure this in the container:
>>>
>>>
>>> <bean id="transactionManager"
>>> class="org.springframework.jndi.JndiObjectFactoryBean">
>>>                 <property name="jndiName">
>>>                         <value>java:/TransactionManager</value>
>>>                 </property>
>>>         </bean>
>>>
>>> <sm:container id="jbi" rootDir="./data/ServiceMix"
>>> useShutdownHook="false"
>>> transactionManager="#transactionManager" autoEnlistInTransaction="true"
>>> monitorInstallationDirectory="false" createJmxConnector="false"
>>> useMBeanServer="true" createMBeanServer="false">
>>>
>>> <sm:flows>
>>>                         <sm:jcaFlow jmsURL="tcp://localhost:61616" />
>>>                         <sm:sedaFlow />
>>>                 </sm:flows>
>>>
>>> And this in my app:
>>>
>>> <bean id="transactionManager"
>>> class="org.springframework.transaction.jta.JtaTransactionManager">
>>>                 <property name="transactionManagerName"
>>> value="java:/TransactionManager"/>
>>>                 <property name="userTransactionName"
>>> value="UserTransaction"/>
>>>         </bean>
>>>
>>>         <bean name="transactionProxy"
>>> class="org.springframework.transaction.interceptor.TransactionInterceptor
>>> ">
>>>                 <property name="transactionManager"><ref
>>> local="transactionManager"/></property>
>>>                 <property name="transactionAttributes">
>>>                         <props>
>>>                                 <prop
>>> key="*">PROPAGATION_REQUIRED</prop>
>>>                         </props>
>>>                 </property>
>>>         </bean>
>>>
>>>
>>> Someone knows what i doing wrong??
>>> --
>>> View this message in context:
>>> http://www.nabble.com/ServiceMix-transaction-sync-between-spring%2C-components-and-Jboss-tf3475627s12049.html#a9701134
>>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>>
>>>
>> 
>> 
>> -- 
>> Cheers,
>> Guillaume Nodet
>> ------------------------
>> Architect, LogicBlaze (http://www.logicblaze.com/)
>> Blog: http://gnodet.blogspot.com/
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/ServiceMix-transaction-sync-between-spring%2C-components-and-Jboss-tf3475627s12049.html#a9718375
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to