У меня есть один процесс Java, начиная другой процесс Java с поддержкой JMX включенным следующим образомОбработка JVM брошенные исключения во время инициализации
java -Dcom.sun.management.jmxremote.port=8088 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar app.jar
Моя проблема в том, что порт 8088 используется, виртуальная машина из порожденного процесса будет throw BindException и JVM выйдет нормально. У меня нет возможности сообщить о том, что процесс, который вызвал процесс, не запускался из-за исключения привязки. Как я могу поймать/обработать исключение BindException, созданное JVM, чтобы порожденный процесс мог сделать System.exit (VALID_ERROR_CODE)? Это исключение происходит даже до того, как какой-либо элемент управления передается в код пользователя, поэтому я думаю, что в коде пользователя его невозможно будет обработать.
Любая идея как справиться с этим прецедентом?
Записывается ли это на stderr (System.err)? Если это так, вы можете запустить процесс запуска и сообщить об ошибке. – Bill
Если я правильно помню, из-за этого BindException ваш jvm не должен начинаться на первом месте, то зачем вам нужно звонить System.exit (...)? – kosa