いくつかのエンティティを読み込み、いくつかのwsを呼び出して、いくつかのエンティティを書き込み/更新するジョブをスケジュールしたいと思っています。このジョブは月の後、例えば01amに処理する必要があります。私はこの問題について2つの問題があります。まず、スケジューラは一定のパラメータを取る、私のrequeirementスケジューラはいくつかのUIを介して調整する必要があります。これを行う適切な方法はありますか?それ以外の場合は、たとえば30分ごとにスケジューラを調整しなければならず、メソッドの内部では、満たされているかどうかにかかわらず、いくつかの可変時間値を調べなければなりません。 2番目の問題は、スケジューラーメソッドの中にあります。usertransactionが起動しています。私がutx.startを呼び出すメソッドを呼び出すと、「スレッドはすでにトランザクションに関連付けられています」というメッセージが表示されます。 exp。何をすればよいでしょうか?推薦pls。前もって感謝します。EJBタイマー使用の推奨事項
0
A
答えて
0
可変スケジュール式を作成する場合は、TimerService(@Resource Timerservice _timerServiceなど)を取得してから、@ Timeoutメソッドを呼び出すcreateCalendarTimerメソッドを使用する必要があります。タイマーのスケジュールは不変なので、UIは新しいタイマーを作成する前に、getTimers()を使用して既存のタイマーを検索/キャンセルする必要があります(getInfo()と一致させるなど)。
@Timeoutメソッドは、包含するBeanのトランザクション機能を継承します。 Beanがコンテナ管理のトランザクションを使用している場合、UserTransactionは機能しません。
0
マネージドBeanを公開して、このタイマーをJMXコンソールで管理することができます。
2番目の問題として、トランザクションをコンテナで管理するように設定したようです。次に、メソッドが起動すると、トランザクションが自動的に開始されます。この自動管理を無効にすることもできますし、プログラム管理を避けてコンテナにトランザクションを管理させることもできます。
関連する問題
- 1. アーキテクチャサブアプリケーションを使用したWebアプリケーションの推奨事項/推奨事項
- 2. Firebaseデータベースデザインの推奨事項
- 3. Excelチャートコンポーネントの推奨事項
- 4. Webアプリケーションデプロイメントアーキテクチャの推奨事項
- 5. ソケットの推奨事項
- 6. jQuery FileManagerの推奨事項
- 7. jQueryナビゲーションメニュープラグインの推奨事項
- 8. IoTデバイスの推奨事項
- 9. バーチャルキーボードの推奨事項(JavaScript)
- 10. プロジェクトコラボレーションツールの推奨事項
- 11. JavaScriptスタイルの推奨事項
- 12. HL7インターフェイスエンジンの推奨事項
- 13. PHP SOAPクライアントチュートリアル/推奨事項
- 14. Pythonクロスプラットフォームリスナーサーバのための推奨事項
- 15. C#データベースアクセスのための推奨事項
- 16. MySQLのmy.cnfパフォーマンスチューニングの推奨事項
- 17. linux hostingのための推奨事項
- 18. Python 3とPyQt 4の推奨事項
- 19. ASP.NET MVCセキュリティの推奨事項
- 20. Visual FoxPro 7リソースの推奨事項
- 21. イベント処理フレームワークの推奨事項
- 22. Java HTMLパーサ/エディタの推奨事項
- 23. C++/Win32チュートリアルの推奨事項?
- 24. Asp.net mvcリストボックスの推奨事項?
- 25. Java-Eclipseパッケージの推奨事項
- 26. C#/ Visual Studio unittestingチュートリアルの推奨事項?
- 27. チームコラボレーションシステムの推奨事項が必要
- 28. ジオロケーションWebサービスの推奨事項
- 29. Symfony2とVimの推奨事項
- 30. Facebook APIチュートリアル/ヒントの推奨事項
あなたが提案したように、可変スケジュール式の作成問題を解決しました。一方、私はまだトランザクションの問題については問題があります。私はCRUD操作を提供するModelOperationsというクラスを持っています。このクラスをMy Timerクラスに挿入しますが、メソッドをModelOperationsから呼び出すと、「スレッドはすでにトランザクションに関連付けられています」というメッセージが表示されます。以来、私の永続メソッドにはutx.begin、commitなどの呼び出しが含まれています。あなたの意見では、再利用性のために何をすべきですか?ご助力ありがとうございます。 –
コードをリファクタリングして、UserTransaction.begin/endなしでビジネスロジックのみを実行するメソッドを呼び出すことができます。 –