NBM2

natural born minority

Spring Boot Batch メモ

Spring Boot Batch メモ

org.springframework.boot:spring-boot-starter-batch で作ることができるコンソールアプリケーションのメモ。

基本、 spring batch は「xmlでバッチの構成を定義する」というものなので、 spring boot batch とは特性が異なる。

なので、 spring boot batch 中心に情報を収集する。

(ただし、やりたいことが spring batch で実現出来ている場合は、それをbootのカタチに読み替える。)

SpringBatch の基本概念

SpringBootBatch の実装例

「パラメータを取る」方法

StepScopeの話

理解出来ず。

ItemWrierの性質(spring batch)

Reader/Writerの話

FlatFileItemReaer

FlatFileItemWriter

「Database接続要らないの勝手に使ってしまう問題」対応

Spring Boot Gradle Pluginのはなし

ビルドしてもjava -jarで動かなかった問題

スケジュール実行の話

テスト周りの話

管理テーブルを無効化する

管理テーブルの「スキーマを変える」にはどうすれば良いか

結論的には「変えることはできない」「接続先の指定で変えるくらい」ということが解った。

試したこと

  • application.properties の spring.datasource.url の末尾に ?currentSchema=[スキーマ] 付ける
    • 唯一変更できるが、「マイグレーション前にCREATEする」ので、間に合わない
      • これは「テスト起動時」において
    • 「環境側に予め作る」などすればできるが、それではマイグレーションに一本化出来ない
      • 本運用でやるときにはマイグレーションを先にやるだろうから良いのだが
  • application.properties の spring.datasource.schema を指定
    • 変わらず、publicに作ってしまう
  • BatchConfiguration弄る
    • まだやってないが、 今の WithoutBatchManagementTableConfigurer.java より複雑性を持ち込みそう

Flayway導入

基本「導入すると勝手に動く」ので、dependency仕込むだけで良さそう。

Batchの application.properties のパラメータ全量

SpringとMyBatisで「複数接続」


Springの @Scoope の話

別の話

固定長ファイル処理 uniVocity-parsers の紹介

ライブラリの更新の自動通知

GradleでMavenのBOM(部品表)みたいなものを使う方法

nio の「一般的な操作」まとめ

blog comments powered by Disqus