有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Apache Camel JDBC存储过程和事务处理

我正在尝试构建一个小型的、概念验证的、基于Camel的应用程序(在FuseESB上运行),它可能会取代我们现有的基于EJB的集成系统。 现在,我正试图找出使用apache camel处理以下场景的最佳方法:

  1. JMS文本消息进来了
  2. 我必须根据消息内容执行一系列数据库操作,调用主要存储的过程/函数
  3. 根据db调用获得的结果,我必须构造一条应答消息并将其发送到特定的jms队列
  4. 如果出现错误/异常,我希望使用死信通道处理机制

我可以构建简单的camel路由,在camel中处理错误和异常看起来也很容易,但我不知道如何使用camel-SQL组件(我知道JDBC组件不能是事务性客户机)将我的所有db调用作为单个事务的一部分。从我在网上发现的情况来看,Camel SQL组件不能用于执行存储过程——这是真的吗?如果是,我应该使用处理器还是简单的pojo类来执行jdbc调用?在使用pojo或处理器类型的情况下,事务如何处理?我将非常感谢任何指向描述如何处理这样一个用例的资源的指针


共 (1) 个答案

  1. # 1 楼答案

    我建议使用JavaBean来进行JDBC交互,因为您需要执行多个调用并使用存储过程。有时Java代码更容易

    例如,Spring JdbcTemplate对JDK JDBC API有很好的抽象,使调用存储过程变得相当容易

    另外,MyBatis还支持调用存储过程。 http://loianegroner.com/2011/03/ibatis-mybatis-working-with-stored-procedures/

    还有骆驼mybatis成分