Tomcat 6にデプロイするWebアプリがあり、Hibernateを使用しています。これは、JMSキューでメッセージを受信し、Hibernateを介したDBと私のオブジェクト(Agent
)の両方への変更をトリガーします。
Webリクエストは、Hibernateを介してDBにもアクセスし、共有オブジェクトにアクセスします(ConcurrentHashMap<AgentId,Agent>
シングルトンによって保持されます)。
私の問題は、いくつかの異なるAgent
sといくつかのテーブルを変更するJMSメッセージがAgent
あり、DBトランザクションが正常に完了した場合にのみ、sの変更を利用できるようにする必要があることです。さらに、読み取りロックはパフォーマンスの危険が大きすぎるため、使用したくありません。どういうわけか実装
を考えていましたXAResource
シングルトンのインターフェースを作成し、JTAを使用してシングルトンとHibernateトランザクションの両方を管理します。
どう思いますか?合理的に聞こえますか?私は道を離れていますか?
さらに詳しい情報が必要な場合は、遠慮なくIttaiにお問い合わせください。