バッチ処理をCommandLineRunnerを使用して非同期で行っていましたが、プロセスが終了されなかったので、解決方法をみていきたいと思います。
解決方法
@SpringBootApplication
public class BatchApplication {
public static void main(String[] args) {
SpringApplication.run(BatchApplication.class, args).close();
}
}
mainメソッドのrun()の後ろにclose()メソッドを呼び出すことで正常終了されました。
// releasing all resources ConfigurableApplicationContext.close(); // close application System.exit(0);
上記のように強制的に終了させることもできましたが、Junitのテスト時にエラーになってしまいました。
