問題タブ [spring-scheduled]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
976 参照

java - Spring Scheduled アノテーションの仕組み

私はJavaで関数を作成しました.その関数は毎日真夜中に実行する必要があります

しかし、私は期待どおりに動作しません。実行されることもあれば実行されないこともあります。これに対する解決策はありません。

春バージョンは4

0 投票する
1 に答える
1613 参照

java - Spring-boot @Async が @Scheduled で実行されていない

このチュートリアルを使用しました。これは、この SSCCE のベースとしてgithub プロジェクトです。

理由は不明ですが、メソッド@Asyncから実行されたとマークされた@Scheduledメソッドは常に同期的に実行されます。

コードを非同期で実行するための修正または回避策を探していますperformTask()

以下のクラス:

アプリケーション.java

MyAsyncService.java

ScheduledTasks.java

次の同期結果を生成します。

0 投票する
3 に答える
13043 参照

java - Spring スケジューラの cron 式 - 年に 1 回だけ実行

私のSpringサービスは次のようになります

年を指定するために予約されている 7 番目の値を使用できないことを理解しています。式を使用して、2020 年の 12 月 25 日午前 6 時など、特定の時間に年に 1 回だけ実行するように春に指示できますか?

ありがとう

0 投票する
1 に答える
1706 参照

java - cron 式の @scheduled スロー例外

チーム、

プロパティファイルにcron式を入れました。次に、示されているように、Javaファイルからそのcron式を参照してみました。

次のエラーが表示されました。

私はこのスケジューラを初めて使用します。この式を構成可能にする方法についてアドバイスをお願いします。

ありがとう

0 投票する
1 に答える
3216 参照

java - Spring Boot サービスを開始する前に、依存関係がロードされるのを待ちます

AppState私は 2 つの Beanを持つスプリング ブート アプリケーションを持っていますUsersAppState自動配線するため、Bean に依存しUsersます。2 つの Bean のスケルトン コードは次のとおりです。

AppState

メソッドが 2 回トリガーされload()ていることに気付きました。おそらく 1 回は、 Bean が作成された直後のスケジューリング中に 1 回です。そのため、 inへの呼び出しを削除しました。これにより、冗長な通話の問題が修正されました。Usersinit()load()Usersload()init()

ただし、データがまだ入力されていないにもかかわらず、Bean が作成されるAppStateとすぐにサービスが開始されることがわかりました。この間、クエリを実行した場合、サービスは 0 ユーザーを返すため、これは私にとって危険です。UsersUsers

次のいずれかについてサポートが必要です。

  • Bean が で完了したときに、すべてのユーザー情報が含まれていることを確認するために にload()戻る必要がありますか? このルートに行く場合、の冗長な実行を防ぐにはどうすればよいですか?init()PostConstructload()

  • load()を除外する必要がある場合、実行しない限り準備ができていないinit()ことを確認するにはどうすればよいですか? 次のコードを使用してみましたが、ハングします。AppStateUsersload()AppState

コードは次のとおりです。

0 投票する
3 に答える
1069 参照

java - Java でスケジュールされたタスクを開発し、Linux サーバーで実行する

定義されたスケジュールに従って定期的に実行できる「タスク」を Java で開発したいと考えていました。

Linux サーバーでこれを実行するにはどうすればよいですか。jar ファイルの場合、jar ファイルを作成し、シェル スクリプトを使用して実行するだけで十分ですか? スクリプト(CRON)を実行するようにスケジュールします

Spring Framework を利用する予定でした。本当に必要ですか?CRONを使用してJavaプログラムを呼び出すようにスケジュールできるため

どうすればこれにアプローチできますか?