[解決済み] Spring 3.0の式言語で@Scheduled(fixedDelay)をパラメータ化する方法とは?
2022-05-25 16:03:20
質問
Spring 3.0の機能を使ってスケジュールされたタスクにアノテーションを付ける場合、そのタスクに
fixedDelay
を設定ファイルからパラメータとして設定したいのですが、現在のようにタスククラスにハードワイヤリングするのではなく...。
@Scheduled(fixedDelay = 5000)
public void readLog() {
...
}
残念ながら、Spring Expression Language (SpEL) の手段では
@Value
はStringオブジェクトを返しますが、このStringオブジェクトは
fixedDelay
パラメータで要求されるような長い値にオートボックスすることができません。
どのように解決するのですか?
私は
@Scheduled
アノテーションは問題外です。そこで、おそらくあなたにとっての解決策は
task-scheduled
XMLコンフィギュレーションを使用することです。次の例を見てみましょう。
春のドキュメント
):
<task:scheduled-tasks scheduler="myScheduler">
<task:scheduled ref="someObject" method="readLog"
fixed-rate="#{YourConfigurationBean.stringValue}"/>
</task:scheduled-tasks>
...あるいは、StringからLongへのキャストがうまくいかなかった場合、次のようなものが考えられます。
<task:scheduled-tasks scheduler="myScheduler">
<task:scheduled ref="someObject" method="readLog"
fixed-rate="#{T(java.lang.Long).valueOf(YourConfigurationBean.stringValue)}"/>
</task:scheduled-tasks>
繰り返しになりますが、これらの設定はどれも試していませんが、少しは参考になるかと思います。
関連
-
Java Exceptionが発生しました エラー解決
-
Spring Boot による HTTPS アクセスの設定
-
eclipseにプロジェクトをインポートした後、Editorにmain typeが含まれない問題
-
eclipse の実行時に java 仮想マシンが見つからなかった
-
スレッド "main" で例外発生 java.net.BindException: アドレスは既に使用中です。NET_Bind
-
JSPで「リストが型解決できない!」の解決方法
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] 整数の左側にゼロを埋め込むにはどうしたらいいですか?
-
[解決済み] Spring Bootアプリケーションにポートを設定する方法
-
[解決済み] Springのオートワイヤリングの仕組みは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
この行に複数のマーカーがある - HttpServletResponseが型エラーに解決できない
-
eclipse で「アクセス制限: タイプ 'HttpServer' は API ではありません」というプロンプトが表示される。
-
eclipse アクセス制限です。タイプ 'xxx' は API ではありません(必須ライブラリ '' の制限)。
-
Spring Boot による HTTPS アクセスの設定
-
java Mail send email smtp is not authenticated by TLS encryption solution.
-
Eclipseでプロジェクトエクスプローラービューとパッケージエクスプローラービューを使う
-
Methodのinvokeメソッド実装のJavaリフレクション
-
が 'X-Frame-Options' を 'deny' に設定しているため、フレーム内にある。
-
アイデア Springboot Web プロジェクトを jar にパッケージ化する場合、Error: 無効または破損した jarfile x.jar 解決策
-
Google Chromeのエラー「Not allowed to load local resource」の解決策について