Sie diese Informationen aus einer eingehenden Anfrage abfragen können, in einem Servlet würde es so funktionieren.
@Override
public void service(final HttpServletRequest req, final HttpServletResponse res)
throws ServletException, IOException {
System.out.println("Server name " + req.getServerName());
System.out.println("Server port " + req.getServerPort());
}
Oder Sie könnten es über JMX direkt von der Domain erhalten (keine Notwendigkeit für eine Anfrage Siehe auch http://docs.oracle.com/middleware/1212/wls/JMXCU/accesswls.htm#JMXCU144):
private void printHostAndPort() throws Exception {
final InitialContext ctx = new InitialContext();
final MBeanServerConnection server = (MBeanServerConnection) ctx.lookup("java:comp/env/jmx/domainRuntime");
final ObjectName runtimeservicebean = new ObjectName(
"com.bea:Name=DomainRuntimeService,Type=weblogic.management.mbeanservers.domainruntime.DomainRuntimeServiceMBean");
// Here can be several
final ObjectName[] serverRuntimeMBeans = (ObjectName[]) server.getAttribute(runtimeservicebean,
"ServerRuntimes");
final String name = (String) server.getAttribute(serverRuntimeMBeans[0], "Name");
System.out.println(name);
final String address = (String) server.getAttribute(serverRuntimeMBeans[0], "ListenAddress");
System.out.println(address);
final Integer port = (Integer) server.getAttribute(serverRuntimeMBeans[0], "ListenPort");
System.out.println(port);
}