Как получить связанный адрес сервера и программный порт в 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 для вашего приложения, тогда вы узнаете его всегда...