资讯专栏INFORMATION COLUMN

获取当前Tomcat实例的端口

xiaodao / 1949人阅读

摘要:有时需要在当前代码中获取当前实例的端口号通过请求可以但有时也需要在没有请求的情况下获取到端口号用以下方法是可以获取到的

有时需要在当前代码中获取当前Server实例的端口号, 通过HttpServletRequest请求可以, 但有时也需要在没有请求的情况下获取到端口号.

用以下方法是可以获取到的:

public int getHttpPort() {
    try {
        MBeanServer server;
        if (MBeanServerFactory.findMBeanServer(null).size() > 0) {
            server = MBeanServerFactory.findMBeanServer(null).get(0);
        } else {
            log.error("no MBeanServer!");
            return -1;
        }

        Set names = server.queryNames(new ObjectName("Catalina:type=Connector,*"),
                Query.match(Query.attr("protocol"), Query.value("HTTP/1.1")));

        Iterator iterator = names.iterator();
        if (iterator.hasNext()) {
            ObjectName name = (ObjectName) iterator.next();
            return Integer.parseInt(server.getAttribute(name, "port").toString());
        }
    } catch (Exception e) {
        log.error("getHttpPort", e);
    }
    return -1;
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/77441.html

相关文章

  • tomcat 与 nginx,Apache HTTP Server Project区别

    摘要:则是基金会下的另外一个项目,与相比,能够动态的生成资源并返回到客户端。和都能够将某一个文本文件的内容通过协议返回到客户端,但是这个文本文件的内容是固定的也就是说无论何时任何人访问它得到的内容都是完全相同的,这样的资源我们称之为静态资源。 作者:知乎用户链接:https://www.zhihu.com/questio...来源:知乎 Apache,指的是Apache软件基金会下的一个项目...

    yacheng 评论0 收藏0
  • tomcat 与 nginx,Apache HTTP Server Project区别

    摘要:则是基金会下的另外一个项目,与相比,能够动态的生成资源并返回到客户端。和都能够将某一个文本文件的内容通过协议返回到客户端,但是这个文本文件的内容是固定的也就是说无论何时任何人访问它得到的内容都是完全相同的,这样的资源我们称之为静态资源。 作者:知乎用户链接:https://www.zhihu.com/questio...来源:知乎 Apache,指的是Apache软件基金会下的一个项目...

    gityuan 评论0 收藏0
  • tomcat

    摘要:服务器插件在其他的服务器进程内部地址空间启动一个虚拟机,容器组件在此虚拟机中运行。如有客户端发出调用请求,服务器插件获得对此请求的控制并转发给容器组件使用通讯机制,即本地调用接口。 博文参考 http://xtony.blog.51cto.com/3964396/988706/ http://blog.sina.com.cn/s/blog_a0e7e34c01015nes.html h...

    李世赞 评论0 收藏0

发表评论

0条评论

xiaodao

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<