0

在 jboss 启动时,我们提供-b 0.0.0.0如下选项

run.sh -c web -b 0.0.0.0

任何机构都可以解释为什么我们需要提供这个吗?

如果没有这个 (-b) 选项,我的应用程序部署将失败。

我用谷歌搜索了这个找不到正确的解释。

编辑在运行脚本而不是 0.0.0.0 中,我发送了 {MyPcIp}。

部署错误

2013-03-28 05:21:32,263 INFO  [org.jboss.web.WebService] (main) Using RMI server codebase: http://{MyPcIp}:8083/
2013-03-28 05:21:32,266 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] (main) Error installing to Start: name=jboss:service=WebService state=Create mode=Manual requiredState=Installed
java.lang.Exception: Port 8083 already in use.
        at org.jboss.web.WebServer.start(WebServer.java:233)
        at org.jboss.web.WebService.startService(WebService.java:322)
        at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:376)
2013-03-28 05:21:32,277 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] (main) Error installing to Real: name=vfsfile:/home/bnw/jboss-eap-5.0/jboss-as/server/web/conf/jboss-service.xml state=PreReal mode=Manual requiredState=Real
org.jboss.deployers.spi.DeploymentException: Error deploying: jboss:service=WebService
        at org.jboss.deployers.spi.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:49)
        at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:118)
4

2 回答 2

1

该参数告诉服务器侦听所有接口,而不仅仅是默认接口(可能127.0.0.1)。但这不是这里的问题。

您配置的端口似乎已在使用中,因此它允许您侦听0.0.0.0而不是默认接口。但是,这不是解决问题的正确方法,因为到端口 8083 的连接可能会被不同的服务器接受,具体取决于所使用的特定接口。您应该弄清楚为什么您的应用程序尝试在 8083 上侦听两次,或者为什么有一个服务器已经绑定到该端口。

于 2013-03-28T06:02:42.383 回答
0

-b 0.0.0.0 指定您希望 JBoss 绑定到网络接口 0.0.0.0(也称为“所有可用接口”),而不是使用任何默认配置

除非您使用它,否则 JBoss 无法启动的事实表明默认指向某个不存在/已被其他东西绑定的网络接口

或者您的应用程序希望 JBoss 绑定到所有网络接口——但由于它不再是这种情况,因此它失败了

于 2013-03-28T06:02:02.133 回答