私は、データベースからの読み取りと書き込みを目的としたJavaコマンドラインアプリケーションを作成しており、作業が完了したら実行を終了します。
REST インターフェイスを誰にも公開することはなく、サーバーを起動してポートをリッスンする必要もありません。
したがって、アプリは次のようなものです。
public class Main {
public static void main(final String[] args) {
// Start Helidon CDI, JTA, etc. - but not JAX-RS
// No: Server.create().start();
// No: io.helidon.microprofile.cdi.Main.main(args);
// Do work
MyApp myApp = CDI.current().select(MyApp.class).get();
app.run();
// Shutdown
io.helidon.microprofile.cdi.Main.shutdown();
}
}
しかし、Helidon フレームワークを初期化すると、Web サーバーが起動され、ポート 8080 (またはその他) でリッスンし始めます。Helidon の Main.main(...) メソッドを使用している場合でも、Web サーバーが起動されます。
では、CDI、JTA、JPA を使用するが Web サーバーを使用しないコマンドライン アプリで使用するために、Helidon を起動/初期化するにはどうすればよいでしょうか?
Spring Boot に関して言えば、私は Helidon に相当するCommandLineRunner
.