1

我必须配置一个 Jboss 5.1.0 实例以使用不同的端口号(即 8480)。为此,我对 bindings-jboss-beans.xml 进行了以下更改。

<parameter>
            <set>
               <inject bean="PortsDefaultBindings"/>
               <inject bean="Ports01Bindings"/>
               <inject bean="Ports02Bindings"/>
               <inject bean="Ports03Bindings"/>
               <inject bean="Ports04Bindings"/>
            </set>
         </parameter>

<bean name="Ports04Bindings" class="org.jboss.services.binding.impl.ServiceBindingSet">
      <constructor>
         <!--  The name of the set -->
         <parameter>ports-04</parameter>
         <!-- Default host name -->
         <parameter>${jboss.bind.address}</parameter>
         <!-- The port offset -->
         <parameter>400</parameter>
         <!-- Set of bindings to which the "offset by X" approach can't be applied -->
         <parameter><null/></parameter>
      </constructor>
   </bean>

更改工作正常,因为我可以使用 URL 访问我的应用程序http://localhost:8480/XYZApp.

现在为了能够进行部署,我必须通知基础设施人员应用程序将使用的所有端口号。我知道我们将使用 8480,但我如何知道 Jboss 将基于偏移量 400 用于此实例的所有其他端口号?

4

1 回答 1

2

JBoss 分别为它的每个服务侦听许多端口,但是如果您的应用程序不使用与这些端口相关的服务,则不需要打开所有这些端口。例如,如果没有外部应用程序将使用命名服务,则您不需要打开端口 1099(在您的情况下为 1499)。

无论如何,如果您需要 Jboss 侦听的所有端口的列表,您可以在文件 conf/bindingservice.beans/META-INF/bindings-jboss-beans.xml 中检查 name="StandardBindings" 的 bean。这些是标准端口,因此如果您定义了偏移量(在您的情况下为 400),则必须将其添加到相应的端口以获取 JBoss 实例使用的端口。

于 2013-03-13T16:19:37.173 回答