私はSpringとHibernateを使ってJava REST Webサービスを開発しています。私は、将来の仕事をスケジュールする機能を実装する必要があります。たとえば、ユーザーが自分のアプリケーションにサインアップすると、最初の6ヶ月間に自分のアカウントに100バーチャルクレジットをクレジットする必要があります。このように、より類似した機能がいくつかあります。Spring Webサービスでスケジュールされたタスクを実装する方法は?
私はTimerTask
がこの機能に使用できると思っています。問題は、登録するユーザーごとにTimer
を作成すると、彼が非アクティブになった場合に特定のユーザーのTimer
を停止することができず、スレッドをメモリにダンプするようです。 1000人のユーザーが登録すると、1000 TimerTask
スレッドがあります。
SpringまたはJavaを使用してこの種の機能を実装する方法は?私はスレッドを完全に制御する必要があります、私はスレッドを停止することができます私が欲しい場合。
よう@Scheduled注釈を配置するために必要だと、あなたは長い間、再起動の必要性や故障強制再起動することなく、あなたのプログラムがこれを実行していることを確認していますか?私はあなたがむしろどこかにこのデータを保存し、定期的な条件をチェックする解決策が必要だと思う。 –
はい。私はTomcat Serverを使用しています。それはいつかクラッシュして下に行く、私はそれを戻すためにサーバーを再起動する必要があります。 – Mdumanoj
https://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.htmlを参照してください。 – rvit34