Apache Camel:如果我在路由中具有DB访问权限,然后在FTP生产者端点中具有访问权限,那么如何在Camel中实现事务路由?

时间:2018-11-10 16:12:52

标签: java ftp apache-camel rollback transactional

我的路线:

from(jms:queue:xxx)
...
.process(_db_access__here_will_be_written_in_db)
...
.to(ftp:yyy)

问题是,从队列中读取消息后,数据将被写入数据库,但是如果ftp端点生产者未能在目录中写入文件,则路由中会出现错误,但是数据库中的更改将不会回滚。

  

我只想将更改提交到数据库   成功写入ftp目录。我该怎么做?

1 个答案:

答案 0 :(得分:0)

您正在查看transacted client

如果您使用的是camel-sql,也可以添加事务处理

sql:insert into tables value (id=:#myId)?transacted=true