IBM Websphere 8.5.5で実行中のソフトウェア・プロジェクトがあります。アプリケーションサーバからJTA TransactionManagerを参照する必要があります。現在はcom.ibm.ws.Transaction.TransactionManagerFactory
クラスを使用しており、その上でgetTransactionManager()
を呼び出します。Websphere 8.5でのcom.ibm.ws.Transaction.TransactionManagerFactoryの使用
私の質問はこれです:IBM Websphere 8.5でこれを行うのは正当なのでしょうか?新しいインターフェイスがあるようです(例:UOWManager
)。しかし、Websphere 5を超えてcom.ibm.ws.Transaction.TransactionManagerFactory
の使用に関する文書を見つけることができませんでした。どこでも使えるとは言いません。それはどこでも使用すべきではないとは言いません。
com.ibm.ws.Transaction.TransactionManagerFactory
はまだ古風ですが動作しますか?あるいは、それは問題があり、使用すべきではありませんか?
(私はコードを見ていない今のところ失敗しますが、これはどちらかの意味するかもしれないa)は、それが正常に動作する、またはb)私達はちょうどテストケースをヒットしていない!)
WebSphereでHibernate + Infinispanの2次キャッシュを使用しようとしたときと同じ問題がありました。いくつかのシナリオでは、Infinispanはトランザクションを一時停止し、独自の作業を行い、その後再開したいと考えました。唯一の 'javax.transaction.TransactionManager'は' com.ibm.ws.Transaction.TransactionManagerFactory'によって返されたものでした(直接サスペンド/レジュームAPIで)。 WebSphereのサポートされているAPIを使用して中断/再開を行う方法を教えてください。 –
@ KosProv任意の中断/再開はできません。 'UOWManager.runUnderUOW'を使うことができます。これは、制御された方法であなたのためにサスペンド/レジュームを行います。効果的に、製品は、アプリケーションコードがトランザクションを再開できないことを許可したくない、または異なるEE「範囲」でトランザクションを再開しようとします(たとえば、EJB呼び出し内でサスペンドしてから戻った後に再開するか、別のスレッド)。 –
@Alasdairご返信ありがとうございます。詳細は重要ではないので、ユースケースをより具体的にすることで、問題を複雑にしたくはありませんでした。私は 'UOWManager'への切り替えが簡単ではないので、私のオプションが何であるかを調べていました。 (特に、コードの一部が私のコントロールを超えている、つまりライブラリ.jarsにあるため) –