2

我使用 Java DSL 创建了一条路由,该路由具有 JPA 组件来定期轮询 DB 中的记录。它运行良好。我希望每条路线都有一个工作线程。如果 DB 出现故障或任何 N/W 问题持续几分钟,则路由无法按预期工作。应用程序正在运行。(即使在 DB 或 N/W 启动后,它也不会从 DB 轮询记录)。我认为工作线程挂起并且路由不起作用。

SimpleRegistry registry = new SimpleRegistry(); 
registry.put("datasource",myDataSourceObj);
CamelContext context = new DefaultCamelContext(registry); 
context.addRoutes(new myRouteBuilder()); 

from URI= "uri="jpa://br.rafaeltuelho.model.Customer?consumer.namedQuery=Customer.findAll&consumer.delay=30000&consumeDelete=true" 

请任何人帮我解决这个问题。如何避免这个工作线程挂起?一旦 N/W 或 DB 启动,如何重新启动工作线程?

4

1 回答 1

0

在 JPA URI 添加 2 个参数后。DB启动后它运行良好。

+ "&sharedEntityManager=true"
+ "&joinTransaction=false"

骆驼中的JPA组件无法自动重新连接到数据库

于 2017-03-18T01:36:39.667 回答