博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Tomcat启动时获取访问地址和端口号
阅读量:4048 次
发布时间:2019-05-25

本文共 1235 字,大约阅读时间需要 4 分钟。

遇到一个单节点多实例部署的情况,且配置文件部署平台统一管理了,在这种情况下想到用端口号区分具体实例。搜了一圈发现都是一个版本且存在问题的源码,干脆自己搞了一个。废话不说了,直接上源码。

List
getEndPoints() throws MalformedObjectNameException, NullPointerException, UnknownHostException, AttributeNotFoundException, InstanceNotFoundException, MBeanException, ReflectionException { MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); Set
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
endPoints = Lists.newArrayList(); for (Iterator
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; }

 

 

 

转载地址:http://yhyci.baihongyu.com/

你可能感兴趣的文章
Java中map容器分别根据键key和值value进行排序的总结
查看>>
剑指offer面试题16. 数值的整数次方——快速幂
查看>>
剑指 Offer 39. 数组中出现次数超过一半的数字——摩尔投票法
查看>>
python中SQLite3 数据库语句使用总结——增删改查
查看>>
Java网络编程总结
查看>>
leetcode 477. 汉明距离总和——超出时间限制
查看>>
基于SSM校园二手交易市场系统——课程设计(毕业设计)
查看>>
leetcode 1882.使用服务器处理任务——优先队列
查看>>
leetcode 523.连续的子数组的和——前缀和+哈希表
查看>>
Java中的set的toArray()转成的数组如何进行接收
查看>>
剑指offer 43 1~n整数中1出现的次数
查看>>
基于SSM的图书馆管理系统——计算机类专业课程设计(毕业设计)
查看>>
leetcode 1239. 串联字符串的最大长度——回溯+位运算
查看>>
基于SSH在线考试系统(计算机专业认证考试)——计算机类专业课程设计(毕业设计)
查看>>
Springboot的仓库管理系统——计算机类专业课程设计(毕业设计)
查看>>
刷新页面实现方式总结(HTML,ASP,JS)
查看>>
根据地球上两个地点的经度和纬度,如何获得这两点的距离?
查看>>
COM组件的使用
查看>>
关于文件夹的手动隐藏和恢复
查看>>
JavaScript和Jscript的版本及规范
查看>>