1

コンテナーの開始時にスレッドを開始し、コンテナーの停止中に停止する必要があるシナリオがあります。アプリケーションに Spring MVC を使用しています。私の最終目標は、ユーザーが特定のアクションを実行したときにメールを送信することです。さらに、メール送信プロセスのためにフローを遅くしたくありません。私が計画しているのは、キューを作成し、メールを送信する必要があるときはいつでもメール メッセージをキューに入れることです。起動時に開始されるスレッドは、キューを読み取り、メールを送信します。ここで私は2つの問題に直面しています:

  1. Spring MVCの場合、アプリケーションの起動/停止時にスレッドを開始および停止するにはどうすればよいですか(通常のWebアプリケーションの場合、これにはServletContextListenerを利用できます)。
  2. スレッドでは、メール サービスを呼び出してメールを送信する必要があります。では、どうすればサービスをスレッドに注入できますか? 出来ますか?

任意のヒントまたはより柔軟なソリューションを高く評価します....

〜ラゲッシュ

4

1 に答える 1

2

メール送信を別のスレッド/非同期で実行する最も簡単な方法は、タスクの実行とスケジューリングの@Async アノテーションを使用することです

こちらもご覧ください

于 2013-06-10T06:35:44.480 に答える