5 Replies Latest reply on Mar 15, 2016 4:44 PM by jbertram

    Wildfly10 ActiveMQ Configuration

    musheka

      Hi,

      We have recently moved from wildfly8/HornetQ --> Wildfly10/ActiveMQ/Artemis.There are 2 standalone wildfly10 instances in AWS. The activeMQ messaging system is alone clustered. We have a setup like below for our messaging system using S3_PING discovery.I have few questions below.

       

      <subsystem xmlns="urn:jboss:domain:messaging-activemq:1.0">

                  <server name="default">

                      <cluster password="${jboss.messaging.cluster.password:xxxxx}" user="${jboss.messaging.cluster.user:xxxxx}"/>

                      <bindings-directory path="/docs/root/esp-etl-nr/standalone/data/activemq-persistence/bindings"/>

                      <journal-directory path="/docs/root/esp-etl-nr/standalone/data/activemq-persistence/journal"/>

                      <paging-directory path="/docs/root/esp-etl-nr/standalone/data/activemq-persistence/paging"/>

                      <security-setting name="#">

                          <role name="guest" delete-non-durable-queue="true" create-non-durable-queue="true" consume="true" send="true"/>

                      </security-setting>

                      <address-setting name="#" message-counter-history-day-limit="10" page-size-bytes="2097152" max-size-bytes="10485760" expiry-address="jms.queue.ExpiryQueue" dead-letter-address="jms.queue.DLQ"/>

                      <http-connector name="http-connector" endpoint="http-acceptor" socket-binding="http"/>

                      <http-connector name="http-connector-throughput" endpoint="http-acceptor-throughput" socket-binding="http">

                          <param name="batch-delay" value="50"/>

                      </http-connector>

                      <in-vm-connector name="in-vm" server-id="0"/>

                      <http-acceptor name="http-acceptor" http-listener="default"/>

                      <http-acceptor name="http-acceptor-throughput" http-listener="default">

                          <param name="batch-delay" value="50"/>

                          <param name="direct-deliver" value="false"/>

                      </http-acceptor>

                      <in-vm-acceptor name="in-vm" server-id="0"/>

                      <broadcast-group name="bg-group1" connectors="http-connector" jgroups-channel="activemq-cluster" jgroups-stack="s3"/>

                      <discovery-group name="dg-group1" jgroups-channel="activemq-cluster" jgroups-stack="s3"/>

                      <cluster-connection name="my-cluster" discovery-group="dg-group1" connector-name="http-connector" address="jms"/>

                      <jms-queue name="ESP-Queue" entries="java:jboss/exported/jms/queue/EspQueue java:/queue/EspQueue"/>

                      <jms-queue name="HighPriorityESP-Queue" entries="java:/queue/HighPriorityEspQueue java:jboss/exported/jms/queue/HighPriorityEspQueue"/>

                      <jms-queue name="ESP-Incremental-Queue" entries="java:/queue/EspIncrementalQueue java:jboss/exported/jms/queue/EspIncrementalQueue"/>

                      <jms-queue name="ExpiryQueue" entries="java:/jms/queue/ExpiryQueue"/>

                      <jms-queue name="DLQ" entries="java:/jms/queue/DLQ"/>

                      <connection-factory name="InVmConnectionFactory" entries="java:/ConnectionFactory" connectors="in-vm"/>

                      <connection-factory name="RemoteConnectionFactory" entries="java:jboss/exported/jms/RemoteConnectionFactory" connectors="http-connector" use-global-pools="false" thread-pool-max-size="10"/>

                      <pooled-connection-factory name="hornetq-ra" transaction="xa" entries="java:/JmsXA java:jboss/DefaultJMSConnectionFactory" connectors="in-vm" use-global-pools="false" thread-pool-max-size="10"/>

                  </server>

              </subsystem>

       

      1.) what is the property to enable/disable persistence. Using "<persistence enabled="false"/>" is throwing an error.

       

      2.) We are using JGroups for messaging system clustering. Can we enable static connectors like below ??the way it was done in wildfly8/HornetQ? I tried using it. Again its throwing an error.

              <cluster-connections>

                          <cluster-connection name="my-cluster">

                              <static-connectors>

                                  <connector-ref>

                                      server0-connector

                                  </connector-ref>

                              </static-connectors>

                          </cluster-connection>

               </cluster-connections>

       

      3.) While using Jgroups-S3_PING, we see that after every restart of the wildfly server, the S3 bucket is having a lots of old file entries. while restarting, it makes an attempt to connect to those old entries.We are seeing logs like below. Its like trying this for 10 times and proceeding further.Is this OK??

       

      ."ESP-NR-EAR.ear"."esp-ejb.jar".CacheManagerBean

      2016-03-15 16:53:22,920 WARN  [org.jgroups.protocols.pbcast.GMS] (Thread-0 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$2@519e4144-684205442)) ip-10-16-4-28: JOIN(ip-10-16-4-28) sent to ip-10-16-4-28 timed out (after 3000 ms), on try 1

      2016-03-15 16:53:25,920 WARN  [org.jgroups.protocols.pbcast.GMS] (Thread-0 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$2@519e4144-684205442)) ip-10-16-4-28: JOIN(ip-10-16-4-28) sent to mongoetl-d01 timed out (after 3000 ms), on try 1

      2016-03-15 16:53:28,921 WARN  [org.jgroups.protocols.pbcast.GMS] (Thread-0 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$2@519e4144-684205442)) ip-10-16-4-28: JOIN(ip-10-16-4-28) sent to ip-10-16-4-28 timed out (after 3000 ms), on try 1

      2016-03-15 16:53:31,921 WARN  [org.jgroups.protocols.pbcast.GMS] (Thread-0 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$2@519e4144-684205442)) ip-10-16-4-28: JOIN(ip-10-16-4-28) sent to ip-10-16-4-28 timed out (after 3000 ms), on try 1

      2016-03-15 16:53:34,922 WARN  [org.jgroups.protocols.pbcast.GMS] (Thread-0 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$2@519e4144-684205442)) ip-10-16-4-28: JOIN(ip-10-16-4-28) sent to mongoetl-d01 timed out (after 3000 ms), on try 1

      2016-03-15 16:53:37,923 WARN  [org.jgroups.protocols.pbcast.GMS] (Thread-0 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$2@519e4144-684205442)) ip-10-16-4-28: JOIN(ip-10-16-4-28) sent to ip-10-16-4-28 timed out (after 3000 ms), on try 1

      .....................................................................

      .............................................................

      2016-03-15 16:54:33,359 WARN  [org.jgroups.protocols.pbcast.GMS] (Thread-0 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$2@519e4144-684205442)) ip-10-16-4-28: JOIN(ip-10-16-4-28) sent to ip-10-16-4-28 timed out (after 3000 ms), on try 4

      2016-03-15 16:54:36,360 WARN  [org.jgroups.protocols.pbcast.GMS] (Thread-0 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$2@519e4144-684205442)) ip-10-16-4-28: JOIN(ip-10-16-4-28) sent to ip-10-16-4-28 timed out (after 3000 ms), on try 4

      2016-03-15 16:54:39,361 WARN  [org.jgroups.protocols.pbcast.GMS] (Thread-0 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$2@519e4144-684205442)) ip-10-16-4-28: JOIN(ip-10-16-4-28) sent to ip-10-16-4-28 timed out (after 3000 ms), on try 4

      2016-03-15 16:54:42,361 WARN  [org.jgroups.protocols.pbcast.GMS] (Thread-0 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$2@519e4144-684205442)) ip-10-16-4-28: JOIN(ip-10-16-4-28) sent to ip-10-16-4-28 timed out (after 3000 ms), on try 4

      2016-03-15 16:54:45,362 WARN  [org.jgroups.protocols.pbcast.GMS] (Thread-0 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$2@519e4144-684205442)) ip-10-16-4-28: JOIN(ip-10-16-4-28) sent to mongoetl-d01 timed out (after 3000 ms), on try 4

      2016-03-15 16:54:48,363 WARN  [org.jgroups.protocols.pbcast.GMS] (Thread-0 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$2@519e4144-684205442)) ip-10-16-4-28: JOIN(ip-10-16-4-28) sent to ip-10-16-4-28 timed out (after 3000 ms), on try 4

      2016-03-15 16:54:51,363 WARN  [org.jgroups.protocols.pbcast.GMS] (Thread-0 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$2@519e4144-684205442)) ip-10-16-4-28: JOIN(ip-10-16-4-28) sent to mongoetl-d01 timed out (after 3000 ms), on try 4

        • 1. Re: Wildfly10 ActiveMQ Configuration
          jbertram

          I'd post your question to the JGroups forum.  This looks like a JGroups issue rather than an Artemis one.  I think the JGroups community would be able to assist you better with this particular issue since it is JGroups that is emitting these warning messages. I don't see any logging directly related to Artemis.  As an Artemis developer there's just not much I can do with what you've provided.

          • 2. Re: Wildfly10 ActiveMQ Configuration
            musheka

            Ok. thanks Justin for your comments on question3. Do you have any suggestions for question 1 & 2.

            • 3. Re: Wildfly10 ActiveMQ Configuration
              jbertram

              Regarding the configuration issues...The best place to look for guidance is in the XSD for the messaging subsystem as it has changed between HornetQ and ActiveMQ Artemis.  That file is available at <WILDFLY_HOME>/docs/schema/wildfly-messaging-activemq_1_0.xsd.  In there you will see that "persistence-enabled" is an attribute of "server", e.g.:

               

                      <subsystem xmlns="urn:jboss:domain:messaging-activemq:1.0">

                          <server name="default" persistence-enabled="false">

                              ...

                          </server>

                      </subsystem>

               

              You can certainly configured static connectors for Artemis, but you'll need to follow the new configuration schema, e.g.:

               

                      <cluster-connection name="my-cluster" address="jms" connector-name="http-connector" discovery-group="dg-group1" static-connectors="server0-connector"/>

              • 4. Re: Wildfly10 ActiveMQ Configuration
                musheka

                Never knew that the wildfly schema files were available publicly to know the structure of the XML. Thanks for sharing the information.

                • 5. Re: Wildfly10 ActiveMQ Configuration
                  jbertram

                  Never knew that the wildfly schema files were available publicly to know the structure of the XML. Thanks for sharing the information.

                  The entire application server is 100% open source.  Everything about it is publicly available.