我正在尝试构建一个小型的、概念验证的、基于 Camel 的应用程序(在 FuseESB 上运行),它可能会取代我们现有的基于 EJB 的集成系统的一部分。现在,我正在尝试找出使用 apache camel 处理以下场景的最佳方法:
- JMS 短信进来
- 我必须根据消息内容执行一系列数据库操作,主要调用存储的程序/函数
- 从 db 调用获得的结果中,我必须构造一个回复消息并将其发送到特定的 jms 队列。
- 如果出现错误/异常,我想使用死信通道处理机制。
我可以构建简单的骆驼路线,在骆驼中处理错误和异常看起来也很容易,我不明白的是如何使用骆驼 SQL 组件(我知道 JDBC 组件不能成为事务客户端)将我所有的数据库调用作为一部分单笔交易。从我在网上找到的 Camel SQL 组件不能用于执行存储过程 - 是真的吗?如果是,我应该使用处理器还是简单的 pojo 类来执行我的 jdbc 调用?在使用 pojo 或处理器类型的情况下,事务如何处理?我非常感谢任何指向描述如何处理这种用例的资源的指针。