camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Charles Moulliard <cmoulli...@gmail.com>
Subject Re: Data not rollbacked from DB - camel-jdbc
Date Thu, 24 Mar 2011 07:04:13 GMT
Hi Christian,

Your are right, we should raise a ticket to decide what to do :
improve the component or update the wiki page to warn users.

BTW, If we decided to improve the component, than a decision should be
take about merging jdbc and sql component to keep only one !

Regards,

Charles Moulliard

Sr. Principal Solution Architect - FuseSource
Apache Committer

Blog : http://cmoulliard.blogspot.com
Twitter : http://twitter.com/cmoulliard
Linkedin : http://www.linkedin.com/in/charlesmoulliard
Skype: cmoulliard



On Wed, Mar 23, 2011 at 10:42 PM, Christian Müller
<christian.mueller@gmail.com> wrote:
> Want we let it as it is? Or should we raise a JIRA for it and fix it?
> I would prefer to raise a JIRA for it...
>
> Christian
>
> On Wed, Mar 23, 2011 at 8:25 AM, Charles Moulliard <cmoulliard@gmail.com>wrote:
>
>> Hi Willem,
>>
>> You confirm what I was suspected --> camel-jdbc is not a transactional
>> component.
>>
>> Regards,
>>
>> Charles
>>
>>
>>
>> On Wed, Mar 23, 2011 at 8:22 AM, Willem Jiang <willem.jiang@gmail.com>
>> wrote:
>> > Hi Charles,
>> >
>> > I just went through the code of camel-jdbc and camel-sql.
>> > camel-sql is use the JdbcTemplate which can interact with the Spring
>> > transaction manage rightly.
>> > camel-jdbc just create a statment object base on the data source, that
>> could
>> > explain why the rollback doesn't work for you.
>> >
>> > Willem
>> > On 3/23/11 2:14 PM, Charles Moulliard wrote:
>> >>
>> >> I did that to simulate an error and check if the rollback will occur.
>> >>
>> >> REMARK : If I use the same camel routes but use SQL component instead of
>> >> JDBC, then it works !!!
>> >>
>> >> On 23/03/11 04:59, Willem Jiang wrote:
>> >>>
>> >>> Hi Charles,
>> >>>
>> >>> You route is a bit interesting, you just throw the exception after the
>> >>> exchange is sent to the camel-jdbc endpoint.
>> >>> Can you tell me why did you do that ?
>> >>>
>> >>> Willem
>> >>>
>> >>> On 3/22/11 11:59 PM, Charles Moulliard wrote:
>> >>>>
>> >>>> Hi,
>> >>>>
>> >>>> I have created a transactional route in camel where I use camel-jdbc
>> >>>> component but the data are not rollbacked from DB when an error
>> >>>> occurs. Is there something wrong in my config ?
>> >>>>
>> >>>> Here is the config
>> >>>>
>> >>>>
>> >>>> <beans xmlns="http://www.springframework.org/schema/beans"
>> >>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> >>>> xsi:schemaLocation="
>> >>>> http://www.springframework.org/schema/beans
>> >>>> http://www.springframework.org/schema/beans/spring-beans.xsd
>> >>>> http://camel.apache.org/schema/spring
>> >>>> http://camel.apache.org/schema/spring/camel-spring.xsd
>> >>>> ">
>> >>>>
>> >>>> <bean id="jdbcReportIncident"
>> >>>> class="com.fusesource.webinars.persistence.JdbcReportIncident"/>
>> >>>>
>> >>>> <bean id="required"
>> >>>> class="org.apache.camel.spring.spi.SpringTransactionPolicy">
>> >>>> <property name="transactionManager" ref="txManager"/>
>> >>>> <property name="propagationBehaviorName"
>> value="PROPAGATION_REQUIRED"/>
>> >>>> </bean>
>> >>>>
>> >>>> <bean id="txManager"
>> >>>>
>> >>>>
>> class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
>> >>>>
>> >>>> <property name="dataSource" ref="reportdb"/>
>> >>>> </bean>
>> >>>>
>> >>>> <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring
>> ">
>> >>>>
>> >>>> <route id="insert-from-file">
>> >>>> <from uri="file://target/datainsert?moveFailed=failed"/>
>> >>>> <transacted ref="required"/>
>> >>>> <split>
>> >>>> <tokenize token=","/>
>> >>>> <setBody>
>> >>>> <simple>INSERT INTO REPORT.T_INCIDENT (INCIDENT_REF,
>> >>>>
>> >>>> INCIDENT_DATE,GIVEN_NAME,FAMILY_NAME,SUMMARY,DETAILS,EMAIL,PHONE)
>> >>>> VALUES
>> >>>> ('${body}','2011-03-21','Charles','Moulliard','Incident
>> >>>> Webinar-${body}','This is a
>> >>>> report incident for
>> >>>> webinar-001','cmoulliard@fusesource.com','+111 10 20 300')
>> >>>> </simple>
>> >>>> </setBody>
>> >>>> <log message=">>> SQL Query : ${body}"/>
>> >>>> <to uri="jdbc:reportdb"/>
>> >>>> <bean ref="jdbcReportIncident" method="generateError"/>
>> >>>> <log message=">>> Result : ${body}"/>
>> >>>> </split>
>> >>>> </route>
>> >>>> </camelContext>
>> >>>>
>> >>>> <bean id="reportdb"
>> >>>> class="org.springframework.jdbc.datasource.DriverManagerDataSource">
>> >>>> <property name="driverClassName" value="org.hsqldb.jdbcDriver"/>
>> >>>> <property name="url" value="jdbc:hsqldb:hsql://localhost/reportdb"/>
>> >>>> <property name="username" value="sa"/>
>> >>>> <property name="password" value=""/>
>> >>>> </bean>
>> >>>>
>> >>>> </beans>
>> >>>>
>> >>>> Regards,
>> >>>>
>> >>>> Charles Moulliard
>> >>>>
>> >>>> Sr. Principal Solution Architect - FuseSource
>> >>>> Apache Committer
>> >>>>
>> >>>> Blog : http://cmoulliard.blogspot.com
>> >>>> Twitter : http://twitter.com/cmoulliard
>> >>>> Linkedin : http://www.linkedin.com/in/charlesmoulliard
>> >>>> Skype: cmoulliard
>> >>>>
>> >>>
>> >>>
>> >>
>> >
>> >
>> > --
>> > Willem
>> > ----------------------------------
>> > FuseSource
>> > Web: http://www.fusesource.com
>> > Blog:    http://willemjiang.blogspot.com (English)
>> >         http://jnn.javaeye.com (Chinese)
>> > Twitter: willemjiang
>> >
>>
>

Mime
View raw message