0 Replies Latest reply on Oct 20, 2010 11:15 AM by Chandru Ganesan

    JBoss5 server startup failure on dual-stack host

    Chandru Ganesan Newbie

      Hi

       

      I'm running JBoss AS 5.1 on a Linux dual-stack (v4/v6) host using JDK 1.6. My goal is to run JBoss5 application by binding server toIPv6 socket

      I'm able to successfully login to my application by setting following server startup properties:

       

      SYSTEM_PROPS="$SYSTEM_PROPS -Djava.net.preferIPv4Stack=false"
      SYSTEM_PROPS="$SYSTEM_PROPS -Djava.net.preferIPv6Addresses=true"

      -b 0.0.0.0 [anylocal address in run.sh]

       

       

      However server startup fails with following exception when I use IPv6 address -b [2621:0:a06:e03a:250:56ff:fe9a:b29] in run.sh

       

      Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jmsConnectionFactoryProxy' defined in ServletContext resource [/WEB-INF/applicationContext-backgroundServices.xml]: Cannot resolve reference to bean 'ppmQueueConnectionFactory' while setting bean property 'targetConnectionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xxxxxxxxxxxxx': Invocation of init method failed; nested exception is javax.naming.CommunicationException: Could not obtain connection to any of these urls: VMMachine.dev.ad:1199 and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out] [Root exception is javax.naming.CommunicationException: Failed to connect to server VMMachine.dev.ad/2621:0:a06:e03a:250:56ff:fe9a:b29:1199 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server VMMachine.dev.ad/2621:0:a06:e03a:250:56ff:fe9a:b29:1199 [Root exception is java.net.ConnectException: Connection refused]]]

       

      Is it a requirement to start JBoss with anyLocal address [0.0.0.0] on dual-stack machine? I see following comments in configuration file which leads me to believe this might be the case, however I maybe wrong as I'm new to JBoss5/IPv6

       

      bindings-jboss-beans.xml

      <!-- JBossTS SocketProcessId.  The address part is ignored,
                      it will always use localhost/127.0.0.1. -->
                  <bean class="org.jboss.services.binding.ServiceBindingMetadata">
                      <property name="serviceName">TransactionManager</property>
                      <property name="bindingName">socketProcessId</property>
                      <property name="port">4714</property>
                      <property name="description">Socket used to provide unique process id for JBossTS. The address configuration is ignored; will always use localhost/127.0.0.1</property>
                  </bean>

       

      jbossts-properties.xml
      <property
                  name="com.arjuna.ats.arjuna.recovery.transactionStatusManagerPort" value="0"/>
              <!--
              Use this to fix the address on which the TransactionStatusManager binds,
              The default behaviour is to use the loopback address (ie localhost).
              If running within an AS then the address the AS is bound to (jboss.bind.address) takes precedence
            -->

      Appreciate your help

       

      Thanks

      Chandru