java获取端口号,不用request
Posted jiathis
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java获取端口号,不用request相关的知识,希望对你有一定的参考价值。
Integer port = null; MBeanServer mBeanServer = null; List<MBeanServer> mBeanServers = MBeanServerFactory.findMBeanServer(null); if (mBeanServers.size() > 0) { for (MBeanServer _mBeanServer : mBeanServers) { mBeanServer = _mBeanServer; break; } } if (mBeanServer == null) { throw new IllegalStateException("没有发现JVM中关联的MBeanServer."); } Set<ObjectName> objectNames = null; try { objectNames = mBeanServer.queryNames(new ObjectName("Catalina:type=Connector,*"), null); } catch (MalformedObjectNameException e) { e.printStackTrace(); } catch (NullPointerException e) { e.printStackTrace(); } if (objectNames == null || objectNames.size() <= 0) { throw new IllegalStateException("没有发现JVM中关联的MBeanServer : " + mBeanServer.getDefaultDomain() + " 中的对象名称."); } try { for (ObjectName objectName : objectNames) { String protocol = (String) mBeanServer.getAttribute(objectName, "protocol"); if (protocol.equals("HTTP/1.1")) { port = (Integer) mBeanServer.getAttribute(objectName, "port"); } } } catch (AttributeNotFoundException e) { e.printStackTrace(); } catch (InstanceNotFoundException e) { e.printStackTrace(); } catch (MBeanException e) { e.printStackTrace(); } catch (ReflectionException e) { e.printStackTrace(); }
以上是关于java获取端口号,不用request的主要内容,如果未能解决你的问题,请参考以下文章