我目前正在开发一个 WebSphere 6.1 Web 项目。
在我的 java 代码中,如何获取当前正在运行的应用程序端口?
servlet API 在 HttpServletRequest 中为您提供本地端口。
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
PrintWriter writer = response.getWriter();
writer.write("" + request.getLocalPort());
writer.close();
}
端口在节点的serverindex.xml中定义(例如 [WAS]/profiles/AppSrv01/config/cells/localhostNode01Cell/nodes/localhostNode01/serverindex.xml)。
<specialEndpoints xmi:id="NamedEndPoint_1214751102556" endPointName="WC_defaulthost">
<endPoint xmi:id="EndPoint_1214751102556" host="*" port="9080"/>
我不确定 WAS JMX 支持是否会公开此信息 - 您必须查看文档。
如果您使用 RAD,您可以从 IDE 运行管理控制台,然后发现 WAS 使用的所有端口