【发布时间】:2019-01-31 22:07:49
【问题描述】:
我使用码头服务器来处理客户端请求,并且有一个要求,我需要按需启动或停止一个或几个 ServerConnector,而无需重新启动这些连接器所连接到的服务器。
例如。
ServerConnector httpConnector;
ServerConnector httpsConnector;
Server server;
server.addConnector(httpConnector);
server.addConnector(httpsConnector);
server.start()
需要启动/停止/取消特定连接器而不强制服务器重新启动。
【问题讨论】:
-
为什么?如果要更新安全证书 (TLS/SSL),请知道不需要为此重新启动 ServerConnector。
-
@JoakimErdfelt 为什么不呢? ;-) 如果您暂时禁用对特定端口上服务器的访问(但仍使其在其他端口上运行),停止连接器听起来是一种合理的方式。
-
连接器仅用于接受连接,现有连接不受影响。
-
@JoakimErdfelt 问题是关于停止和启动连接器,而不是中止当前活动的连接。
-
关于 serverconnector.close()。 “一旦连接器关闭,如果不先调用 LifeCycle.stop(),它就无法再次打开,并且在随后调用 LifeCycle.start() 之前它不会再次处于活动状态”
标签: java server jetty embedded-jetty