Hi Folks, I am new to Apache camel. And got the JMS websphere MQ with camel. But I am struggling with XA transaction. Can somebody help me and give some leads to implement XA transaction. Below is the code sample which is working(but without XA transaction) The option transacted=true uses JMSTransactionManager which kind off rollbacks the JMS transaction if database transaction fails. But want some more control by doing commits and rollbacks manually. Thanks in advance.
CamelContext context = new DefaultCamelContext(); MQQueueConnectionFactory cf = new MQQueueConnectionFactory(); cf.setHostName("192.111.111.11"); cf.setPort(1414); cf.setQueueManager("QM_user"); cf.setChannel("S_user"); cf.setTransportType(1); JmsConfiguration jc = new JmsConfiguration(cf); JmsComponent ibmmq = new JmsComponent(jc); context.addComponent("test-jms", ibmmq); context.addRoutes(new RouteBuilder() { public void configure() { from("test-jms:queue:Q1?transacted=true").process(new Processor(){ public void process(Exchange arg0) throws Exception { Object obj = arg0.getIn().getBody(); String sql = "insert into kk_testtab(x,y) values(?,?)"; Connection conn = OceanviewDataSource.getConnection(); PreparedStatement stmt = null; try { stmt = conn.prepareStatement(sql); stmt.setInt(1, Integer.parseInt(obj.toString())); stmt.setInt(2, Integer.parseInt(obj.toString())); stmt.execute(); }catch(Exception e){ throw e; }finally { conn.close(); } }); } }); context.start(); Thread.sleep(1000); context.stop(); -- View this message in context: http://camel.465427.n5.nabble.com/help-with-websphere-MQ-with-XA-transaction-Sample-code-below-tp5532697p5532697.html Sent from the Camel - Users mailing list archive at Nabble.com.