从 webapp 访问托管服务器主机名和端口

Accessing managed server host name and port from webapp

我正在开发将部署在 Weblogic 中的 Web 应用程序。在此应用程序中,我需要访问托管服务器的端口和主机。经过一番搜索后发现,带有 JNDI 的 JMX 可以帮助获取服务器详细信息,但不确定是否可以通过这种方式访问​​主机和端口详细信息,在可用的在线文档中找不到太多帮助。有人可以帮我解决这个问题吗?

    //Get ServerConfiguration
    ctx = new InitialContext();
    MBeanServer mBeanServer = (MBeanServer) ctx.lookup("java:comp/env/jmx/runtime");
    ObjectName ServerConfiguration = (ObjectName) mBeanServer
            .getAttribute(new ObjectName(RuntimeServiceMBean.OBJECT_NAME), "ServerConfiguration");
    // Get ListenPort 
    port = mBeanServer.getAttribute(ServerConfiguration, "ListenPort").toString();

如果您只需要主机名(而不是服务器名),您只需:

String hostname = InetAddress.getLocalHost().toString();