【问题标题】:Is there a way to add ports to tomcat at runtime?有没有办法在运行时向 tomcat 添加端口?
【发布时间】:2019-05-29 19:50:06
【问题描述】:

我正在尝试在运行时向 tomcat 添加一个端口。有没有办法做到这一点?或者有没有办法监听所有端口?我正在使用 spring,我希望用户能够添加调用 API 端点以添加新端口来监听。

我知道你可以在配置文件中添加额外的端口,但我不知道我需要添加哪些端口。

@RequestMapping("/port/{port}")
void setPort(@PathVariable("port") int port){
    //add new tomcat port to listen on
}

【问题讨论】:

  • 欢迎来到 Stack Overflow!这里的问题预计将显示研究工作;也就是说,已经做了什么来解决你的问题。我们很乐意提供帮助,但前提是您自己尝试过。请参阅:How to create a Minimal, Complete, and Verifiable example。祝你好运!
  • 为什么? Web 服务器在不同端口上提供完全相同的内容有什么意义?
  • 这将模拟多个服务,我想通过端口将它们分开。直到运行时我才知道它们有多少或它们是什么。
  • 可能有,但您必须处理连接器、阀门……您可以查看howtodoinjava.com/tomcat/… 以了解一些 Tomcat 基础概念。但我认为这将是一项漫长而艰巨的工作。
  • 看一个更简单的服务器可能更好,比如 grizzly (javaee.github.io/grizzly) 是 jersey 的服务器,甚至直接是 netty (netty.io)。

标签: java spring tomcat


【解决方案1】:
@组件
公共类 CustomizationBean 实现
  WebServerFactoryCustomizer {

    @覆盖
    公共无效定制(ConfigurableServletWebServerFactory 容器){
        容器.setPort(8083);
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-23
    • 2010-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    • 2021-12-18
    • 2014-05-21
    相关资源
    最近更新 更多