Как получить связанный адрес сервера и программный порт в Java EE для JBoss 6.1 EAP?

Я использую следующий код для получения значений порта http для EAP JBoss 6.1. Этот код прекрасно работал в JBoss 7.1 AS.

Ниже приведен код:

MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
ObjectName socketBindingMBean = new ObjectName("jboss.as:socket-binding-group=standard-sockets,socket-binding=http");
Integer port = (Integer) mBeanServer.getAttribute(socketBindingMBean, "boundPort"));

Этот код работает нормально, если я развернул WAR после запуска сервера, но он не работает во время запуска. Есть ли изменение, в котором JBoss загружает свои модули? Как я могу получить эту информацию при запуске?

1 ответ

Это нормально, пока сокеты и порты еще не инициализированы, и после успешной работы сервера это произойдет, тогда вы сможете прочитать его, я бы предложил использовать файл конфигурации JBoss и всегда сохранять один фиксированный prt для вашего приложения, тогда вы узнаете его всегда...

Другие вопросы по тегам