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 <[email protected]> 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 > <[email protected]>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 <[email protected]> >> 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','[email protected]','+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 >> > >> >
