我是apache camel的新手。我正在使用带有Oracle Weblogic的camel作为JEE容器开发集成应用程序。因为我们通过jms从上游系统获得请求,我们需要转换请求并将其保存在数据库中,并通过jms将其发送到另一个系统。目标是回滚事务,即使上述任一操作失败(持久存储到DB或发送到jms队列)。以下是样本路线定义。
from("weblogicJMS:OEP_SALESORDER_JMS_QUEUE?exchangePattern=InOnly").unmarshal(jaxb).process(new ProcessSalesOrderFulfillmentProcessor());
from("direct:saveOrderToRespository").to("jpa:com.xyz.oep.order.presistence.model.OepOrder");
from("direct:sendSalesOrderEBMToOSM?exchangePattern=InOnly").to("weblogicJMS:OEP_OSM_WS_REQUEST_QUEUE_JNDI");
在ProcessSalesOrderFulfillmentProcessor的进程方法中 我处理直接调用:sendSalesOrderEBMToOSM route和direct:saveOrderToRespository route。
我正在寻找一些实施上述路线交易的最佳实践或建议。提前谢谢。