はじめに SpringFrameworkには、起動しているアプリケーションから非同期の処理を実行できる機能が提供されており、非同期処理を実行する方法がいくつかあります。その中の1つである スケジューラー @Scheduled を使った定期実行の方法と、そのスケジューラーの多重起動の防止を行うShedLockを紹介します。 スケジューラー機能の使い方 SpringBootを使った設定は以下の通りです アプリケーション起動クラスないしは設定クラスに@EnableSchedulingを付与する 一定間隔で非同期実行をするメソッドに@Scheduledを付与する(Springのコンテキストに登録してあるクラスのみ対象。) 具体的なコード例は次の通りです。 アプリケーション起動クラス、ないしは設定クラスにて@EnableSchedulingを付与しておけば、あとはスケジュール実行したいメソッドに @
![SpringFrameworkのスケジューリング機能と排他制御 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/b33282d36f6d4712c0a8d5c099689b6f55ed06c8/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9U3ByaW5nRnJhbWV3b3JrJUUzJTgxJUFFJUUzJTgyJUI5JUUzJTgyJUIxJUUzJTgyJUI4JUUzJTgzJUE1JUUzJTgzJUJDJUUzJTgzJUFBJUUzJTgzJUIzJUUzJTgyJUIwJUU2JUE5JTlGJUU4JTgzJUJEJUUzJTgxJUE4JUU2JThFJTkyJUU0JUJCJTk2JUU1JTg4JUI2JUU1JUJFJUExJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0xZDQ3MDdhM2I4MzkyNWVlODI2NDkyNjc4MjBkMDY0NA%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTcxNiZ0eHQ9JTQwYWxwaGFfcHomdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zMiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTlhNzkyNDkxNjhjMjIzNDcyZDU2MmQyMGYyYmUzODRm%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Debc3f4a6b876e2fc9e7d658fd87a93a2)