Wie findet man den jboss-Port programmatisch in der Anwendung / war, die auf diesem jboss-Server implementiert ist? Mit Java
Es ist ein Web-Service läuft, wir haben keine Benutzeroberfläche
Ich nehme an, Sie wollen den HTTP-Port.
JBoss veröffentlicht eine Tomcat-Connector-MBean für jeden Web-Listener. Die Namenskonvention der ObjectNames der mbeans lautet:
Der Trick ist, ohne irgendwelche Annahmen über die Bindungsadresse oder den Port zu machen (die Bindungsadresse könnte 127.0.0.1 oder 0.0.0.0 oder ein Hostname sein), um die korrekte MBean zu finden. Um dies zu tun, können Sie eine JMX-Abfrage verwenden, die Folgendes angibt:
Sobald Sie eine MBeanServerConnection zum JBoss MBeanServer haben, gibt diese Anweisung den richtigen Port zurück:
%Vor%Wenn Sie versuchen, den Port aus Code zu ermitteln, der innerhalb der JBoss-JVM ausführt, ist das Abrufen der MBeanServerConnection trivial, da Sie einen statischen Aufruf an org.jboss.mx.util.MBeanServerLocator.locateJBoss () .
Hier ist ein Beispiel für eine einfache JSP zum Drucken der HTTP-Portnummer:
%Vor%Wenn Sie diese remote erwerben müssen, müssen Sie den JBoss-Client RMIAdaptor . Die Referenz von Nayan Wadekar ist ein gutes Beispiel dafür, wie man das macht.
Wenn Ihr JBoss-Server über eine org.jboss.mx.remoting verfügt .service.JMXConnectorServerService bereitgestellt oder Sie verwenden JBoss mit dem Plattform MBeanServer , Sie können auch das native JMX verwenden Remoting. Hier ein grooviges Beispiel:
%Vor%