1

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


さらに詳しい情報が必要な場合は、遠慮なくIttaiにお問い合わせください。

4

1 に答える 1

3

を実装する代わりにXAResource、2.0以降のJTAをサポートするEHCacheのようなトランザクションキャッシュを使用できます(つまり、XAリソースとして機能し、他のXAリソースと一緒にXAトランザクションに参加できます)。

于 2010-10-19T08:56:15.220 に答える