Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-24417

[GSS](7.4.z) JBoss throws UnknownHostExceptions and XARecovery fails when Connected to an AMQ Cluster in OpenShift

XMLWordPrintable

    • False
    • None
    • False
    • Hide

      Configure JBoss messaging-activemq as a resource adapter targeting the load-balanced, node-port or headless routes for an AMQ cluster hosted in OpenShift:

              <subsystem xmlns="urn:jboss:domain:messaging-activemq:13.0">
                  <remote-connector name="netty-remote-throughput-node1" socket-binding="messaging-remote-throughput-node1">
                      <param name="ssl-enabled" value="true"/>
                  </remote-connector>
                  <remote-connector name="netty-remote-throughput-node2" socket-binding="messaging-remote-throughput-node2">
                      <param name="ssl-enabled" value="true"/>
                  </remote-connector>
                  <pooled-connection-factory name="activemq-ra-remote" entries="java:/RemoteJmsXA java:jboss/RemoteJmsXA java:/jms/DefaultJMSConnectionFactory" connectors="netty-remote-throughput-node1 netty-remote-throughput-node2" ha="false" reconnect-attempts="0" use-topology-for-load-balancing="false" transaction="xa" user="admin" password="admin" >
                      <inbound-config use-jndi="false" rebalance-connections="false" setup-attempts="-1" setup-interval="5000"/>
                  </pooled-connection-factory>
                  <external-jms-queue name="INBOUND_QUEUE" entries="java:/jms/queue/INBOUND_QUEUE"/>
                  <external-jms-queue name="OUTBOUND_QUEUE" entries="java:/jms/queue/OUTBOUND_QUEUE"/>
              </subsystem>
      

      Deploy an AMQ broker cluster on openshift and expose its endpoint(s) to external clients.

      Alternative: You can simulate the same failures by configuring the AMQ cluster outside openshift, but in a multihomed environment, using one interface for clustering (node1.internal.test.redhat.com) using plain communication, and another interface for client communication using ssl (sample configs attached). Configure /etc/hosts so that the internal interface is mapped on the broker hosts, but not on the host where JBoss is deployed.

      Start JBoss EAP and wait some time. You will see UnknownHostExceptions and XARecovery failures as the resource adapter attempts to contact the "internal" broker endpoints.

      Show
      Configure JBoss messaging-activemq as a resource adapter targeting the load-balanced, node-port or headless routes for an AMQ cluster hosted in OpenShift: <subsystem xmlns="urn:jboss:domain:messaging-activemq:13.0"> <remote-connector name="netty-remote-throughput-node1" socket-binding="messaging-remote-throughput-node1"> <param name="ssl-enabled" value="true"/> </remote-connector> <remote-connector name="netty-remote-throughput-node2" socket-binding="messaging-remote-throughput-node2"> <param name="ssl-enabled" value="true"/> </remote-connector> <pooled-connection-factory name="activemq-ra-remote" entries="java:/RemoteJmsXA java:jboss/RemoteJmsXA java:/jms/DefaultJMSConnectionFactory" connectors="netty-remote-throughput-node1 netty-remote-throughput-node2" ha="false" reconnect-attempts="0" use-topology-for-load-balancing="false" transaction="xa" user="admin" password="admin" > <inbound-config use-jndi="false" rebalance-connections="false" setup-attempts="-1" setup-interval="5000"/> </pooled-connection-factory> <external-jms-queue name="INBOUND_QUEUE" entries="java:/jms/queue/INBOUND_QUEUE"/> <external-jms-queue name="OUTBOUND_QUEUE" entries="java:/jms/queue/OUTBOUND_QUEUE"/> </subsystem> Deploy an AMQ broker cluster on openshift and expose its endpoint(s) to external clients. Alternative: You can simulate the same failures by configuring the AMQ cluster outside openshift, but in a multihomed environment, using one interface for clustering (node1.internal.test.redhat.com) using plain communication, and another interface for client communication using ssl (sample configs attached). Configure /etc/hosts so that the internal interface is mapped on the broker hosts, but not on the host where JBoss is deployed. Start JBoss EAP and wait some time. You will see UnknownHostExceptions and XARecovery failures as the resource adapter attempts to contact the "internal" broker endpoints.

      When the JBoss EAP is running outside OpenShift with its messaging-activemq subsystem iconfigured as a resource adapter connecting to an AMQ cluster within OpenShift, we see UnknownHostExceptions and XARecovery failures due to topology updates, even if useTopologyForLoadBalancing is set to false and even if ha is also set false.

              istudens@redhat.com Ivo Studensky
              rhn-support-dhawkins Duane Hawkins
              Votes:
              1 Vote for this issue
              Watchers:
              13 Start watching this issue

                Created:
                Updated:
                Resolved: