JVM не заканчивается при использовании Spring Batch и System.Exit (0)JAVA

Программисты JAVA общаются здесь
Anonymous
JVM не заканчивается при использовании Spring Batch и System.Exit (0)

Сообщение Anonymous »

Чтобы поместить его в контексте, у меня есть приложение Spring Patch, и перед выполнением шагов и загрузки бобов я хочу проверить базы данных (я использую Mongo и MySQL). < /p>
Идея состоит в том, чтобы избежать предупреждений Control-M из-за базы данных. Я написал следующий код, и он очень хорошо работает в Windows, но на Linux JVM не завершается, даже при достижении System.Exit (0). И это странно, потому что идея Java состоит в том, чтобы написать один раз ... < /p>
`< /p>
@SpringBootApplication public class DemoApplication {
@PostConstructor
public void checkDataBaseConnection() {
// method for check mongoDB
// method for check mysql

if(database unavailable) {
System.exit(0); // The idea is to avoid notifications due to momentary database unavailability.
// It works on Windows, on Linux the JVM continues to run.
}
}

public static void main(String[] args) {
SpringApplication app = new SpringApplication(DemoApplication.class);
app.setWebApplicationType(WebApplicationType.NONE);
app.run(DemoApplication.class, args);
}
}
< /code>
`< /p>
Это указывает на то, что есть блокирующие потоки, есть ли способ обойти это? Я пробовал все пути. И почему это поведение хорошо работает на Windows, а не на Linux? Это архитектурная проблема? Таким образом, в пост-конструкции могут быть нити, не являющиеся дамином, и это вызывает это?

Подробнее здесь: https://stackoverflow.com/questions/795 ... stem-exit0

Вернуться в «JAVA»