Tomcat启动时获取访问地址和端口号
程序员文章站
2022-06-13 23:00:05
...
遇到一个单节点多实例部署的情况,且配置文件部署平台统一管理了,在这种情况下想到用端口号区分具体实例。搜了一圈发现都是一个版本且存在问题的源码,干脆自己搞了一个。废话不说了,直接上源码。
List<String> getEndPoints() throws MalformedObjectNameException, NullPointerException, UnknownHostException, AttributeNotFoundException, InstanceNotFoundException, MBeanException, ReflectionException { MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); Set<ObjectName> objs = mbs.queryNames(new ObjectName("*:type=Connector,*"), Query.match(Query.attr("protocol"), Query.value("HTTP/1.1"))); String hostname = InetAddress.getLocalHost().getHostName(); InetAddress[] addresses = InetAddress.getAllByName(hostname); ArrayList<String> endPoints = Lists.newArrayList(); for (Iterator<ObjectName> i = objs.iterator(); i.hasNext(); ) { ObjectName obj = i.next(); String scheme = mbs.getAttribute(obj, "scheme").toString(); String port = obj.getKeyProperty("port"); for (InetAddress addr : addresses) { String host = addr.getHostAddress(); String ep = scheme + "://" + host + ":" + port; endPoints.add(ep); } } return endPoints; }
上一篇: PHP 编码规范(25)
推荐阅读
-
Jsp和PHP共用80端口整合Apache和Tomcat(访问时无需加端口号)
-
Jsp和PHP共用80端口整合Apache和Tomcat(访问时无需加端口号)
-
linux系统中 redis 保存数据的5种形式 linux后端模式启动 jedis无法通过IP地址和端口号访问如何修改linux防火墙
-
Websocket-Sharp获取客户端IP地址和端口号
-
URL请求省略端口号和项目名访问Tomcat部署的项目
-
Tomcat启动时获取访问地址和端口号
-
Tomcat启动时获取访问地址和端口号
-
JavaScript、Java和PHP获取前一个访问页面的URL地址
-
获取网站所有网页访问的URL地址和页面资源加载访问地址
-
Jsp和PHP共用80端口整合Apache和Tomcat访问时无需加端口号