Apollo は Ctrip のフレームワーク部門によって開発された分散構成センターです。さまざまなアプリケーション環境とさまざまなクラスターの構成を一元管理できます。構成が変更された後、リアルタイムでアプリケーション側にプッシュでき、標準化された権限を持ちます。プロセス ガバナンスおよびその他の機能。マイクロサービス構成管理シナリオに適しています。
Apolloにはプロパティ設定ファイルと同じ機能があり、パラメータを設定することができます。Apollo の利点は、プロジェクトを再起動せずにパラメーターの値をリアルタイムで変更できることです。
1 Apollo を設定する
Apollo をローカルで設定する方法のリファレンス:
2 Apolloパラメータを追加する
Apollo にパラメータを追加します。
param.cron_test1=0/5 * * * * ?
param.cron_test2=0/5 * * * * ?
Apollo のスケジュールされたタスク cron ステートメントのホット設定を実装するには、 を使用する必要がありますScheduledTaskRegistrar
。
具体的な方法は以下のとおりです。
@Override
public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
Runnable runnable = () -> {
System.out.println("cron_test:" + cron_test);
};
Trigger trigger = triggerContext -> {
CronTrigger cronTrigger = new CronTrigger(cron_test);
return cronTrigger.nextExecutionTime(triggerContext);
};
taskRegistrar.addTriggerTask(runnable , trigger );
}
@Override
public int getOrder() {
return 0;
}
プロジェクトの完全なアドレス:
GitHub アドレス: https://github.com/Snowstorm0/learn-apollo-cron
Gitee アドレス: https://gitee.com/Snowstorm0/learn-apollo-cron
プロジェクトを実行する前に、の値resource/application.properties
を変更し、 のアドレスに置き換える必要があります。ポート番号は Eureka のポート番号です (デフォルトは 8080)。apollo.meta
localhost
apollo
プロジェクトを実行すると、出力が表示されます。
cron_test1:0/5 * * * * ?
current_time1:10:53:13
cron_test2:0/5 * * * * ?
current_time2:10:53:13
Apollo の cron ステートメントを に変更します0/10 * * * * ?
。再起動せずに、プロジェクトの出力が次のようになることを確認できます。
cron_test1:0/10 * * * * ?
current_time2:10:54:05
cron_test2:0/10 * * * * ?
current_time1:10:54:05
プログラミングの知識をさらに学ぶには、私の公式アカウントをフォローしてください。