質問

いtomcat6.20インスタンスに走りたい送信メールを介して背景のスレッド防止のためメール送信機能からブロックになります。

ができる実行のスレッドの背景を可能にする通常のページのフローが発生します。

申請書ICEfaces.

感謝。

役に立ちましたか?

解決

  1. Executor を使用 java.util.concurrent.Executors.newCachedThreadPool (またはその他のファクトリメソッド)をコントローラ/サーブレットの初期化方法。
  2. る請求があったときは、その手はそのままに、ラップ、メール送信を行うための論理 java.lang.Runnable
  3. 提出 RunnableExecutor

これを行なう能力と資格を有する者を送信しみいただけます。記憶を単一のExecutorでスタートアップシェアの全ての請求。な新しい執行毎時間(きだが、やはりゴールドコーストからメルボルン、無駄).

他のヒント

Thread.sleep()の代わりに送信メールを入れてください。 sendRedirect()の代わりにあなたの出力を入れます。

public void doUrlRequest(HttpServletRequest request, HttpServletResponse response) {
    try {
        response.sendRedirect("/home");
    } catch (IOException e) {
        CustomLogger.info(TAG, "doUrlRequest", "doUrlRequest(): "+e.getMessage());
    }
    (new Thread() {
        public void run() {
            try {
                Thread.sleep(9000);
                System.out.println("Awoken!");
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }).start();

私は道を見出しました。これらのタグ

@PostConstruct()

@PreDestroy()

voidを返すサーブレットで2つのメソッドを作成し、パラメータを受け入れません。 直ちに第一の方法と第二のタグ上記第2のタグの上に第1タグを配置します。

タグの

エッセンス

実装クラスは、Webサービスのクライアントへの応答を開始する前に

@PostConstructメソッドがコンテナによって呼び出されます。

エンドポイントが操作から除去される前に、

@PreDestroyメソッドがコンテナによって呼び出されます。

PostConstruction()メソッド内で、Runnableインタフェースを使用してスレッドを作成し、特定のブール変数の値がfalseである場合を除き、それは無限ループ内で実行しています。

falseにブール変数を設定するPreDestroy()メソッドを使用します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top