Apache Camel JPA Thread Hung

时间:2017-02-16 23:17:49

标签: java apache-camel datasource camel-jpa

我使用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启动,如何重新启动工作线程?

1 个答案:

答案 0 :(得分:0)

在JPA URI中添加2个参数后。 DB启动后工作正常。

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

<强> JPA component in camel cannot reconnect automatically to database