2016-05-02 12 views
2

私の主な質問はJPAエンティティクラス内のメソッドに@Consumedアノテーションの代替手段はありますか?Camel JPA @代替案

JPAモデル(例:すべてのエンティティ)を同じデータベースを使用してontherプロジェクト間で共有できるように、実際に外部化したいので、この質問をします。また、@Consumedアノテーションを削除することを意味する私のサブプロジェクトにCamelの依存関係を望んでいません。私は別の解決策を試してみました

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

  • が@Consumed方法で私のラクダのプロジェクトにおけるサブモジュールラクダ無料エンティティクラスを拡張 は、私は基本的に、このようなルートを持っています。しかし、JPAは判別フィールドなしで継承を許可していません。
  • 私のCamelルートの最後にBean/Processorを追加して、エンティティの状態を手動で更新します。しかし、私のルートはデッドロック(期待通り)で終わります。

他にも私が忘れた解決策はありますか? (経路構成で)「経路終了方法」を入れる場所がありますか?

ありがとうございます!

答えて

1

2番目の解決方法が有効です。私はあなたのルートがデッドロックで終わると思います。Beanは既にトランザクション中にエンティティを更新しようとしているからです。 その場合は、Beanの更新を削除する必要があります。

あなたの最初の解決策は価値があります。誰かがそれを試してみたら、それがうまくいくかどうか知りたいです。