0 Replies Latest reply on May 14, 2013 5:18 PM by thinksteep

    JBoss AS 7.1.1Final +mod_cluster+Apache httpd issue

    thinksteep

      Hi Community,

       

      I am trying to create JBoss 7.1.1Final clustering with mod_cluster +apache Httpd.

       

      Configuration is simple:

       

      JBoss 7.1.1Final (machine1) + JBoss7.1.1Final (machine2)+apache httpd (mod_cluster 1.2)

       

      Both JBoss servers are started as Standalone-full-ha.xml and they are in clustering. Both servers have web application (which includes JAX-WS application).

       

      Issue I am having here is:

       

      When web service client (Simple Java web service client program, with for loop, to make continous calls) calls web service using apache machine url, one of the JBoss servers (either machine1 (or) machine2) picking the request and serving them.

       

      1) When I stop the server which is serving the request, next request is NOT being redirected to live server, instead it is failing with following error:

       

      com.sun.xml.internal.ws.client.ClientTransportException: HTTP transport error: java.net.ConnectException: Connection refused: connect

                at com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:121)

                at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:142)

                at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:83)

                at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:78)

                at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:587)

                at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:546)

                at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:531)

                at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:428)

                at com.sun.xml.internal.ws.client.Stub.process(Stub.java:211)

                at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:124)

                at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:98)

                at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)

                at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)

                at $Proxy29.getService(Unknown Source)

       

       

      2) Second server picking the request, when I stop the client and restart the client.

       

      I am confused on what might be causing this issue.

       

      Any inputs would be appreciated.

       

      Here is config:

       

      Apache HTTPD:


      Listen apachemachineIP:80

      <VirtualHost apachemachineIP:80>

            <Location />

               Order deny,allow

               Allow from all

          </Location>

           KeepAliveTimeout 60

          MaxKeepAliveRequests 0

       

          ManagerBalancerName mycluster

          ServerAdvertise On

          EnableMCPMReceive

        </VirtualHost>

       

      standalone-full-ha.xml (on both servers):

       

      For server1:

      <server name="node1" xmlns="urn:jboss:domain:1.2">

       

      For Server2:

      <server name="node2" xmlns="urn:jboss:domain:1.2">


      Common on both:


      <subsystem xmlns="urn:jboss:domain:modcluster:1.0">

                  <mod-cluster-config advertise-socket="modcluster" proxy-list="apachemachineIP:80">

                      <dynamic-load-provider>

                          <load-metric type="busyness"/>

                      </dynamic-load-provider>

                  </mod-cluster-config>

      </subsystem>

       

       

      <subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" instance-id="${jboss.node.name}" native="false">

                  <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>

                  <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp"/>

                  <virtual-server name="default-host" enable-welcome-root="true">

                      <alias name="localhost"/>

                      <alias name="example.com"/>

                  </virtual-server>

         </subsystem>

       

       

      Thank you for your time and help.