我在 64 位 RHEL5 服务器上部署了一个使用 JBoss 4.2.2 的应用程序。由于还有其他 JBoss 服务器,我不得不更改一些端口配置,以便在启动服务器时不会发生冲突。所以现在我正在使用 docs/examples/binding-manager/samples 目录中的 sample-bindings.xml 文件中的 ports-01。此外,下面是我为反映新端口而编辑的所有文件的列表:
- JBOSS_HOME/servers/default/deploy/jboss-web.deployer/server.xml:
- 更改连接器端口 - 8080 到 8180
- 将 AJP 1.3 连接器端口 - 8009 更改为 8109
- JBOSS_HOME/server/default/deploy/jbossws.beans/META-INF/jboss-beans.xml
- 将 8080 更改为 8180
- JBOSS_HOME/server/default/conf/jboss-service.xml:
- 将 8083 更改为 8183
- 将 1099 更改为 1299
- 将 1098 更改为 1298
- 将 4444 更改为 4644
- 将 4445 更改为 4645
- 将 4446 更改为 4646
- 将 4447 更改为 4647
- JBOSS_HOME/server/default/conf/jboss-minimal.xml:
- 将 1099 更改为 1299
- 将 1098 更改为 1298
当我启动服务器(绑定到本地主机)时,一切都很好,我可以访问应用程序。但是当我尝试关闭服务器时,出现以下错误:
线程“主”javax.naming.CommunicationException 中的异常:无法获得与以下任何 url 的连接:localhost [根异常是 javax.naming.CommunicationException:无法连接到服务器 localhost:1099 [根异常是 javax.naming.ServiceUnavailableException :无法在 org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1562) 在 org.jnp.interfaces.NamingContext 连接到服务器 localhost:1099 [根异常是 java.net.ConnectException:连接被拒绝]]]。在 org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627) 上查找 (NamingContext.java:634) 在 org.jboss.Shutdown.main(Shutdown .java:214) 原因:javax.naming.CommunicationException:无法连接到服务器 localhost:1099 [根异常是 javax.naming.ServiceUnavailableException:无法连接到服务器 localhost:1099 [根异常是 java.net.ConnectException:连接被拒绝]] 在 org.jnp.interfaces.NamingContext.getServer(NamingContext.java:274)在 org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1533) ... 4 更多原因:javax.naming.ServiceUnavailableException:无法连接到服务器 localhost:1099 [根异常是 java.net.ConnectException:连接拒绝] 在 org.jnp.interfaces.NamingContext.getServer(NamingContext.java:248) ... 5 更多原因:java.net.ConnectException:连接在 java.net.PlainSocketImpl.socketConnect(Native Method) 在 java 处被拒绝。 net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) 在 java.net.PlainSocketImpl。connectToAddress(PlainSocketImpl.java:195) 在 java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) 在 java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) 在 java.net.Socket.connect(Socket.java :525) at java.net.Socket.connect(Socket.java:475) at java.net.Socket.(Socket.java:372) at java.net.Socket.(Socket.java:273) at org.jnp .interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:84) 在 org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:77) 在 org.jnp.interfaces.NamingContext.getServer(NamingContext.java:244) ...还有 5 个366) 在 java.net.Socket.connect(Socket.java:525) 在 java.net.Socket.connect(Socket.java:475) 在 java.net.Socket.(Socket.java:372) 在 java.net .Socket.(Socket.java:273) 在 org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:84) 在 org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:77) 在 org.jnp.interfaces .NamingContext.getServer(NamingContext.java:244) ... 还有 5 个366) 在 java.net.Socket.connect(Socket.java:525) 在 java.net.Socket.connect(Socket.java:475) 在 java.net.Socket.(Socket.java:372) 在 java.net .Socket.(Socket.java:273) 在 org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:84) 在 org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:77) 在 org.jnp.interfaces .NamingContext.getServer(NamingContext.java:244) ... 还有 5 个createSocket(TimedSocketFactory.java:77) at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:244) ... 还有 5 个createSocket(TimedSocketFactory.java:77) at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:244) ... 还有 5 个
是否有任何其他文件需要我将 1099 更改为 1299,或者我是否缺少其他步骤?
Shutdown.sh 启动一个单独的 java 程序,该程序将 JMX 请求发送到 jboss 服务器进程。它不引用任何配置文件来发现新端口,它只是假定默认值。(怎么可能?你没有将它传递给你的配置目录)
因此,要连接到在非默认端口上运行的 jboss 服务器,您需要像这样运行它:
此外,如果您实际使用的是 sample-binding.xml,即,如果您取消注释
jboss.system:service=ServiceBindingManager
jboss-service.xml 中的 mbean 并适当地配置ServerName
和配置StoreURL
,那么您不需要对新端口进行任何其他配置更改。这就是绑定管理器的重点,集中所有这些工作。