Camel JPA @Consumed备选方案

时间:2016-05-02 09:01:11

标签: java jpa apache-camel

我的主要问题是:在JPA实体类内的方法上有@Consumed注释的替代方法吗?

我问这个问题是因为我真的想要将我的JPA模型(例如我的所有实体)外部化,以便能够使用相同的数据库在其他项目之间共享。另外,我不想在我的子项目中想要删除@Consumed注释中的一些Camel依赖项。 我基本上有这样的路线:

from("jpa://[MyClass]?consumeLockEntity=true&consumer.SkipLockedEntity=true&consumer.query=[...]")
    .to("seda:queue.test")

我尝试了不同的解决方案:

  • 使用@Consumed方法在我的camel项目中扩展子模块camel free实体类。但JPA不允许在没有判别字段的情况下继承......
  • 在我的Camel路由末尾添加bean /处理器以手动更新实体状态。但我的路线以死锁结束(如预期的那样)。

我忘记了其他解决方案吗?是否(在路线配置中)放置了一些地方"路线结束方法" ?

提前致谢!

1 个答案:

答案 0 :(得分:1)

你的第二个解决方案应该有效。我认为您的路由最终会出现死锁,因为您的Bean尝试更新您的实体,而您已经处于事务中。 如果是这种情况,那么删除Bean中的更新应该有效。

仍然是你的第一个溶剂是值得的。如果有人尝试过,我很想知道它是否有效。