如何在同一台机器上运行两个Jboss 5实例?

时间:2017-03-31 15:06:03

标签: xml spring jboss

我有点卡住,因为我想在我的机器上运行两个Jboss实例,当我第一次提出问题没有任何问题时,重要的是要注意我已经配置了我的环境变量以及我的属性 - 服务,以便它指向我的IP和端口。

现在我试图在我的机器上引发第二个实例,已经配置了我的环境变量,为第一个实例分配了一个不同的端口,所以我的properties-service.xml和我的server.xml

我在properties-service.xml中的第一个实例:

system.com.host=192.168.2.15
        system.com.port=8480

在bindings-jboss-beans.xml

<bean class="org.jboss.services.binding.ServiceBindingMetadata">
               <property name="serviceName">jboss:service=Naming</property>
               <property name="bindingName">Port</property>
               <property name="port">1099</property>
               <property name="description">The listening socket for the Naming service</property>
            </bean>

<bean class="org.jboss.services.binding.ServiceBindingMetadata">
               <property name="serviceName">jboss:service=Naming</property>
               <property name="bindingName">RmiPort</property>
               <property name="port">1098</property>
               <property name="description">Socket Naming service uses to receive RMI requests from client proxies</property>
            </bean>

在我的server.xml中

<Connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.address}" 
               connectionTimeout="20000" redirectPort="8543" />

现在在我的第二个例子中,我有如下:

属性服务的XML:

system.com.host=192.168.2.15
            system.com.port=8383

在bindings-jboss-beans.xml中:

<bean class="org.jboss.services.binding.ServiceBindingMetadata">
               <property name="serviceName">jboss:service=Naming</property>
               <property name="bindingName">Port</property>
               <property name="port">1199</property>
               <property name="description">The listening socket for the Naming service</property>
            </bean>

            <bean class="org.jboss.services.binding.ServiceBindingMetadata">
               <property name="serviceName">jboss:service=Naming</property>
               <property name="bindingName">RmiPort</property>
               <property name="port">1195</property>
               <property name="description">Socket Naming service uses to receive RMI requests from client proxies</property>
            </bean>

在我的server.xml中

<Connector protocol="HTTP/1.1" port="8383" address="${jboss.bind.address}" 
               connectionTimeout="20000" redirectPort="8543" />

但是当我想提出我的实例时,我收到以下错误:

[arjLoggerI18N] [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_14] - Failed to create server socket on address 192.168.2.15 and port: 5,013
        [AbstractKernelController] Error installing to Create: name=TransactionManager state=Configured
com.arjuna.ats.arjuna.exceptions.FatalError: [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_9] - Could not get unique port.

有人知道它的原因是什么吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

JBoss AS 5具有Service Binding Manager,它提供了一个集中位置,可以配置需要绑定到端口的所有服务的设置。

您可以将参数jboss.service.binding.set设置为ports-defaultports-01等来启动JBoss。

例如:

run -Djboss.service.binding.set=ports-01  

jboss.service.binding.set系统属性告诉ServiceBindingManager要使用的端口集。

手动更改JBoss AS ConfigurePorts

参考:https://developer.jboss.org/wiki/AS5ServiceBindingManager