Upgrade to Wildfly 10.0.0.Final: Messaging System issue
kpreeta12 Sep 19, 2016 9:12 AMWidlffly 8.2 was based on HornetQ JMS message broker while Wildfly 10 uses ActiveMQ JMS message broker.
The HornetQ code base was donated to the Apache ActiveMQ community late last year and now resides as a sub project under the ActiveMQ umbrella named 'Artemis’. http://activemq.apache.org/artemis.
http://hornetq.blogspot.in/2015/06/hornetq-apache-donation-and-apache.html
The issue we are facing is after we upgraded our application to wildfly 10.0.0.Final from Wildfly 8.2, the messages are not consistently getting into the queue. This issue is not seen for Wildfly-8.2.
Below is how we configured the messaging subsystem in standalone-full.xml for Wildfly 10.0.0.Final :-
Let me know if this is good. Also I have attached the entire standalone-full.xml with this case.
<subsystem xmlns="urn:jboss:domain:messaging-activemq:1.0">
<server name="default">
<security enabled="false"/>
<statistics enabled="true"/>
<security-setting name="#">
<role name="guest" delete-non-durable-queue="true" create-non-durable-queue="true" consume="true" send="true"/>
<role name="jmsrole" delete-non-durable-queue="true" create-non-durable-queue="true" consume="true" send="true"/>
</security-setting>
<address-setting name="#" redistribution-delay="1000" 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="remote-http"/>
<http-connector name="http-connector-throughput" endpoint="http-acceptor-throughput" socket-binding="http"/>
<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"/>
<jms-queue name="testQueue" entries="java:/queue/test java:jboss/exported/jms/queue/test"/>
<jms-queue name="ISEEOutboundQueue" entries="java:/ISEEOutboundQueue java:jboss/exported/jms/queue/ISEEOutboundQueue"/>
<jms-queue name="ISEEInboundQueue" entries="java:/ISEEInboundQueue java:jboss/exported/jms/queue/ISEEInboundQueue"/>
<jms-queue name="BEEEAuthorizationsQueue" entries="java:/BEEEAuthorizationsQueue java:jboss/exported/jms/queue/BEEEAuthorizationsQueue"/>
<jms-queue name="BEEERequisitionsQueue" entries="java:/BEEERequisitionsQueue java:jboss/exported/jms/queue/BEEERequisitionsQueue"/>
<jms-queue name="BEEEInboundQueue" entries="java:/BEEEInboundQueue java:jboss/exported/jms/queue/BEEEInboundQueue"/>
<jms-topic name="testTopic" entries="java:/topic/test java:jboss/exported/jms/topic/test"/>
<connection-factory name="InVmConnectionFactory" entries="java:/ConnectionFactory" connectors="in-vm"/>
<connection-factory name="RemoteConnectionFactory" entries="java:/RemoteConnectionFactory java:jboss/exported/jms/RemoteConnectionFactory" connectors="http-connector"/>
<pooled-connection-factory name="activemq-ra" transaction="xa" entries="/JmsXA jboss/DefaultJMSConnectionFactory" connectors="in-vm"/>
</server>
</subsystem>
InitialContext is created with parameters - jmsuser, password, and
BEEERequisitions.JndiProviderUrl=http-remoting://<ip-address>:<port>
BEEERequisitions.JndiFactory=org.jboss.naming.remote.client.InitialContextFactory
Issue we face is that after we upgraded to wildfly 10, the messages are not getting in the queues. This is not consistent as once in a while messages are getting processed.
I have attached below standalone-full.xmls for both Wildfly-8.2 where it works properly as well as standalone-full.xml for Wildfly 10.0.0.Final where we have JMS issue for your reference :-
1. standalone-full-WL-8.2.xml is for Wildfly 8.2 which is working fine.
2. standalone-full-WL-10.0.Final.xml is for Wildfly 10.0.Final which has this JMS issue.