2017-04-19 9 views
0

私は次のことを達成する必要があります -春のアプリケーションでスケジュールされた電子メールを送信しますか?

  1. 年に30回の周りの周り6000のユーザーに電子メールを送信します。特定の時刻に深夜12時にメールを送信することがあります。
  2. アプリケーションで再試行機能を提供する必要があるため、何らかの理由でアプリケーションが一部のユーザーに電子メールを送信できなかった場合は、最後に失敗とマークするまでに3回(3日まで)再試行する必要があります。
  3. あらかじめ定義されたテンプレートを使用して電子メールを送信する必要がありますが、その中に動的なデータがあります。

私のアプリケーションのハイテクスタックは - Javaの、春ブーツ1.4、Oracleデータベース、CA autosysジョブスケジューラは、BPMをactiviti(今のようActivitiを使用していないが、それは最善の解決策である場合、それを使用することができます)

マイ現在のソリューション: -

  1. これらのジョブを定義するには、autosysスケジューラを使用します。
  2. 私の残りのサービス(spring + java + oracle tech stack)を呼び出すと、すべてのアプリケーションロジックを実行し、Apache Commonsの電子メールは自分のsmtpサーバーを使用して電子メールを送信します。

私の質問 - このケースでメールを送信するにはどうすればよいですか?私はリトライ機能を実現するために様々なテーブルを維持しなければならないので。私はautosysスケジューラの代わりにactivitiを使うべきですか?またはこの電子メールスケジューリングのための春のフレームワーク自体?

答えて

0

ビジネスプロセスが問題で管理されていません。どのような業務にもビジネスマンが関与していない限り(フォームの記入、提供された入力に基づいた決定)、アクティビティを避けるべきです。 ActivitiはBPMエンジンです。プロセスを管理している場合を除き、その使用はありません。スケジューラーのためには、あなたは間違いなく春のフレームワークを進めるべきです。 私は何かを見逃しているかどうか教えてください。

関連する問題