複数のユーザ環境(tomcat-servlet経由)でプロセスを実行したい場合(このプロセスを完了するのにかかる時間は数時間です)、このプロセスを実装する方が良いでしょうか? 1)スレッド内または2)JMSで 利点と欠点は何ですか?スレッドまたはJMSどちらが良いですか?
答えて
JMSを使用する方法を正確にはわからないのは、クライアントがキュー上で要求をポップし、いくつかの(構成可能な)数のワーカースレッドで要求をプルしてサービスすることです。私の場合、これらのワーカー・スレッドを処理するためのメカニズムとしてMDBを使用していますが、これは単なる実装の詳細です。
代わりにスレッドとJMSが表示されません。スレッドを使用するための制御可能な方法をJMSに提供します。あまりにも多くのリクエストを同時に処理することを避ける必要があるため、キューを概念的に必要とし、JMSを使用してそれを実現できます。
結果を伝達する方法のように、ブラウザが何時間もぶら下がっていないことを確認するためのさまざまな詳細がわかります。 Ajaxのポーリングやコメットプッシュのようなものがありますか?
もう1つの考え方 - 数時間かかる単一のチャンク?これは、いくつかのステップに分かれて恩恵を受ける可能性があります(これは、やはりJMSキューの可能性があります)。そうすれば、クラッシュはすべてを正方形に戻すわけではありません。
2番目のオプション(つまり、 )を実行してください。TomcatのサーブレットでJMSクライアント(好ましくはJMSコンテナのMDB)にメッセージを送信してください。そこでは、長いプロセスを起動します。 サーブレット(オプション1)に新しいスレッドを作成するのではなく、それを実行することは実際にはお勧めできません。
私は主な要因は、あなたが見たいと思う同時要求の最大数とオーバーフローを扱うための戦略は何かと思いますか?
一度にいくつかのリクエストしか受け取らない場合は、スレッドは問題ありません。 CountdownLatchを維持する単純なバックグラウンドスレッドは、オーバーフローを処理するために使用できます。
多くのリクエストが必要な場合は、JMSがあなたの仕事に適しているかもしれません。
- 1. どちらが良いですか:mysql_connectまたはmysql_pconnect
- 2. どちらが良いですか、setEnabledまたはsetUserInteractionEnabled?
- 3. どちらが良いですか? Java開発またはWebworks?
- 4. JSONまたはXML?どちらが良いですか?
- 5. どちらが良いですか、NagiosまたはSensu?
- 6. Phalcon Freamworkまたはphp7?どちらが良いですか?
- 7. どちらが良いですか? city.state.idまたはcity.state_id
- 8. PigServerまたはPigRunner?どちらが良いですか?
- 9. どちらが良いですか?:(reduce + ...)または(apply + ...)?
- 10. どちらが良いですか?ネイティブアプリまたはハイブリッドアプリ?
- 11. どちらが良いですか? URLReWriter.netまたはURLReWriting.NET
- 12. どちらが良いですか?
- 13. どちらが良いですか? toFile
- 14. どちらがより良いです
- 15. これはどちらが良い理由ですか? RaphaelJSまたはHTML5 Canvas?
- 16. バックグラウンドサービスにはどちらが良いですか?WakeLockまたはstartForeground
- 17. どちらが良いjqueryモバイルかphonegap
- 18. どちらが良いですか、ch = '\ n'; write(1、&ch、1);またはputchar( '\ n');
- 19. どちらが良いですか:Railsの定数またはモデル
- 20. どちらが良いですかLinkedBlockingQueue無制限またはLinkedBlockingQueue with容量
- 21. どちらが良いですかSingletonクラスまたはShared(静的)メンバー関数
- 22. どちらが良いですか、コンパイラかインタプリタですか?
- 23. どちらが良いIcriteriaまたはクエリーオーバー
- 24. CDNまたは私たち自身のサーバーでどちらが良いですか?
- 25. どちらか良いHBASEまたはNeo4j
- 26. サイズlz4またはzlibのどちらが圧縮率が良いか
- 27. accdbとmdb。どちらが速い/良いですか?
- 28. どちらが良いですか?このサンプルコードでプライベート
- 29. Laravel - レスポンス::レスポンス() - どちらが良いですか
- 30. どちらを使うのが良いですか?