Webアプリケーションの起動時にメソッドを呼び出そうとしています。目的は、定義された間隔でいくつかの作業を行うタイマーを開始することです。 jboss 7.1 Webアプリケーションの起動時に関数helloworldを呼び出すにはどうすればよいですか?サーバの起動時にメソッドを呼び出す
答えて
ContextListeners、あなたはまた、起動時にweb.xmlの負荷のサーブレットを持つことができます。
<servlet>
<servlet-name>mytask</servlet-name>
<servlet-class>servlets.MyTaskServlet</servlet-class>
...
<load-on-startup>1</load-on-startup>
</servlet>
このサーブレットは、たとえば、このlinkを参照、あなたが望むあらゆる手段を使って、タスクを開始することができます。
しかし、あなたはそのアプローチを使用すべきではありません。
quartzまたは同様のツールのような実績のあるフレームワーク/ libを使用してください。 Webサーバーでのタスクの実行と同期には多くの問題や問題があります。これらのツールがすでに満たされて解決された間違いを繰り返すのではなく、実績のあるツールを使用する方が優れています。把握するのに少し時間がかかるかもしれませんが、多くの頭痛を避けるでしょう。
Jbossには、タスクのスケジューリングと管理のためのツールがあります。決して使用されないのでおすすめできません。
web.xml
に設定されているServletContextListener
を使用してください。 contextInitialized
メソッドでタイマーを起動するコードを記述します。
チェックアウトQuartz Scheduler。定義された間隔で火を発するのにCronTriggerを使うことができます。たとえば、5分ごとに次のようになります。
"0 0/5 * * * ?"
アイデアは、実行するタスクであるJob
インタフェースを実装SchedulerFactory
/Scheduler
を使用して、それをスケジュールし、Job
とCronTrigger
とスタートを構築することですそれ。
非常に明確な例がhereです。
Webアプリケーションがクライアントにサービスを提供する前にコードを実行したい場合は、ServletContextListenerが必要です。
< リスナー> web.xmlファイル内の要素を入れてWEB-INF /クラスに
をクラスを入れて、あなたのリスナークラス
import javax.servlet.*;
public class MyServletContextListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent e) {
//Call your function from the event object here
}
public void contextDestroyed(ServletContextEvent e) {
}
}
を作成します。
<listener>
<listener-class>
com.test.MyServletContextListener
</listener-class>
</listener>
これが役立ちます。
[その他- 1. ToList()メソッド呼び出し時にデータベースを呼び出す
- 2. Playアプリケーションの起動時にサービスを呼び出す
- 3. 実行時にメソッドを呼び出す
- 4. Apacheサービス起動時にURLを呼び出す
- 5. セッション。起動時にリクエストごとに呼び出されます。
- 6. アンドロイドアプリケーションの起動時に呼び出されるスレッド。
- 7. アプリケーションの起動時に静的クラスのメソッドを自動的に呼び出す方法
- 8. サーバの再起動またはシャットダウン時に関数を呼び出すことはできますか?
- 9. jQueryを呼び出す$ .Deferred .state()メソッドがdone()メソッドを起動しています
- 10. shouldAutorotateToInterfaceOrientation起動時に2回呼び出される
- 11. AppWidgetProvider、起動時にonUpdateが何度か呼び出される
- 12. Ubuntu起動時に自動的にUDPサーバを起動する
- 13. EJBメソッド呼び出し時のCORBA.COMM_FAILURE
- 14. メソッドを呼び出すエラー、jvmの起動に失敗しました
- 15. 最初のメソッドの呼び出し時に2番目のメソッドへの呼び出しをトリガーする
- 16. Microsoft Surface:起動時にのみ呼び出されるメソッドを定義する場所はどこですか?
- 17. java.lang.Threadは、起動時に明示的なjava.lang.Runnableのrun()メソッドを呼び出さないのはなぜですか?
- 18. Rails Bundler :: GemRequireErrorサーバ起動時
- 19. RequiredFieldValidatorが起動した後にJavaScriptメソッドを呼び出しますか?
- 20. 動的メソッドの呼び出し?
- 21. JVMの動的メソッド呼び出しトレースログイン
- 22. Objective-Cの動的メソッド呼び出し
- 23. OOPの動的メソッド呼び出し
- 24. ストアドプロシージャの呼び出し時にMysqld [v5.0.51a]が繰り返し再起動する
- 25. ページのロード時にマネージドBeanメソッドを呼び出す
- 26. Webサービスコールの終了時にメソッドを呼び出す
- 27. 特定の時間にメソッドを呼び出す
- 28. iOS:特定の時間にメソッドを呼び出す
- 29. データベースの更新時にクライアント側でメソッドを呼び出す
- 30. 2時間ごとにTomcatのメソッドを呼び出す
contextInitializedメソッド内にHttpサーバーの開始コードを追加できますか – Hema