1 2 Previous Next 17 Replies Latest reply on May 20, 2010 3:03 AM by chrlon

    HornetQ 2.0 to 2.1 beta3 upgrade: consumerCount = 0

      I am trying to upgrade from 2.0 to 2.1.0_beta3 using a stand alone HornetQ together with Jboss AS 5.1. The setup is running fine on 2.0 but with 2.1 the queues does not register my MDB consumers (consumerCount = 0 in jconsole) and no messages are consumed even though the queues are not empty. The only configuration change I have done from 2.0 to 2.1 (except from upgrading the jars) is changing to org.hornetq.core.remoting.impl.netty.NettyConnectorFactory in ra.xml.

       

      Any idea why the MDB consumers does not register with hornetq? (looking at netstat the there is a netty connection between AS and HornetQ)

       

      ra.xml

       

      {code:xml}

      <?xml version="1.0" encoding="UTF-8"?>
      <!-- $Id: ra.xml 76819 2008-08-08 11:04:20Z jesper.pedersen $ -->
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
                 version="1.5">
         <description>HornetQ 2.0 Resource Adapter</description>
         <display-name>HornetQ 2.0 Resource Adapter</display-name>
         <vendor-name>Red Hat Middleware LLC</vendor-name>
         <eis-type>JMS 1.1 Server</eis-type>
         <resourceadapter-version>1.0</resourceadapter-version>
         <license>
            <description>
      Copyright 2009 Red Hat, Inc.
      Red Hat licenses this file to you under the Apache License, version
      2.0 (the "License"); you may not use this file except in compliance
      with the License.  You may obtain a copy of the License at
      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied.  See the License for the specific language governing
      permissions and limitations under the License.
            </description>
            <license-required>true</license-required>
         </license>
         <resourceadapter>
            <resourceadapter-class>org.hornetq.ra.HornetQResourceAdapter</resourceadapter-class>
            <config-property>
               <description>The transport type</description>
               <config-property-name>ConnectorClassName</config-property-name>
               <config-property-type>java.lang.String</config-property-type>
               <config-property-value>org.hornetq.core.remoting.impl.netty.NettyConnectorFactory</config-property-value>
               <!--config-property-value>org.hornetq.integration.transports.netty.NettyConnectorFactory</config-property-value -->
            </config-property>
            <config-property>
               <description>The transport configuration. These values must be in the form of key=val;key=val;</description>
               <config-property-name>ConnectionParameters</config-property-name>
               <config-property-type>java.lang.String</config-property-type>
               <config-property-value>host=10.10.48.20;port=5445</config-property-value>
            </config-property>
            <!-- config-property>
              <description>Use XA?</description>
              <config-property-name>UseXA</config-property-name>
              <config-property-type>java.lang.Boolean</config-property-type>
              <config-property-value>true</config-property-value>
            </config-property -->
            <config-property>
              <description>Should clean server shutdown trigger failover?</description>
              <config-property-name>FailoverOnServerShutdown</config-property-name>
              <config-property-type>java.lang.Boolean</config-property-type>
              <config-property-value>true</config-property-value>
            </config-property>
            <outbound-resourceadapter>
               <connection-definition>
                  <managedconnectionfactory-class>org.hornetq.ra.HornetQRAManagedConnectionFactory</managedconnectionfactory-class>
                  <config-property>
                     <description>The default session type</description>
                     <config-property-name>SessionDefaultType</config-property-name>
                     <config-property-type>java.lang.String</config-property-type>
                     <config-property-value>javax.jms.Queue</config-property-value>
                  </config-property>
                  <config-property>
                     <description>Try to obtain a lock within specified number of seconds; less than or equal to 0 disable this functionality</description>
                     <config-property-name>UseTryLock</config-property-name>
                     <config-property-type>java.lang.Integer</config-property-type>
                     <config-property-value>0</config-property-value>
                  </config-property>
                  <connectionfactory-interface>org.hornetq.ra.HornetQRAConnectionFactory</connectionfactory-interface>
                  <connectionfactory-impl-class>org.hornetq.ra.HornetQRAConnectionFactoryImpl</connectionfactory-impl-class>
                  <connection-interface>javax.jms.Session</connection-interface>
                  <connection-impl-class>org.hornetq.ra.HornetQRASession</connection-impl-class>
               </connection-definition>
               <transaction-support>XATransaction</transaction-support>
               <authentication-mechanism>
                  <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
                  <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
               </authentication-mechanism>
               <reauthentication-support>false</reauthentication-support>
            </outbound-resourceadapter>
            <inbound-resourceadapter>
               <messageadapter>
                  <messagelistener>
                     <messagelistener-type>javax.jms.MessageListener</messagelistener-type>
                     <activationspec>
                        <activationspec-class>org.hornetq.ra.inflow.HornetQActivationSpec</activationspec-class>
                        <required-config-property>
                            <config-property-name>destination</config-property-name>
                        </required-config-property>
                     </activationspec>
                  </messagelistener>
               </messageadapter>
            </inbound-resourceadapter>
         </resourceadapter>
      </connector>

      {code}

       

      jms-ds.xml

       

       

      {code:xml}

      <connection-factories>

         <mbean code="org.jboss.jms.jndi.JMSProviderLoader" name="hornetq:service=JMSProviderLoader,name=JMSProvider">

            <attribute name="ProviderName">DefaultJMSProvider</attribute>

            <attribute name="ProviderAdapterClass">org.jboss.jms.jndi.JNDIProviderAdapter</attribute>

            <attribute name="FactoryRef">java:/XAConnectionFactory</attribute>

            <attribute name="QueueFactoryRef">java:/XAConnectionFactory</attribute>

            <attribute name="TopicFactoryRef">java:/XAConnectionFactory</attribute>

         </mbean>

       

         <!--

          JMS XA Resource adapter, use this to get transacted JMS in beans

         -->

         <tx-connection-factory>

            <jndi-name>JmsXA</jndi-name>

            <xa-transaction/>

            <rar-name>jms-ra.rar</rar-name>

            <connection-definition>org.hornetq.ra.HornetQRAConnectionFactory</connection-definition>

            <config-property name="SessionDefaultType" type="java.lang.String">javax.jms.Queue</config-property>

            <config-property name="JmsProviderAdapterJNDI" type="java.lang.String">java:/DefaultJMSProvider</config-property>

       

           <!--config-property name="ConnectionParameters" type="java.lang.String">host=10.10.48.20;port=5445</config-property-->

            <!--config-property name="ConnectionParameters" type="java.lang.String">port=5445</config-property-->

       

           <max-pool-size>200</max-pool-size>

            <security-domain-and-application>JmsXARealm</security-domain-and-application>

         </tx-connection-factory>

      </connection-factories>

      {code}

       

        • 1. Re: HornetQ 2.0 to 2.1 beta3 upgrade: consumerCount = 0
          clebert.suconic

          You basically need to redo the installation process as specified on the quick start guide.

           

           

          At latest look at hornetq-configuration.xml. The classNames for the connectors have changed between 2.0 and 2.1.

          • 2. Re: HornetQ 2.0 to 2.1 beta3 upgrade: consumerCount = 0

            Thanks for the quick reply!

             

            The quick start doesn't help much I'm afraid. I have done a clean install of HornetQ (stand alone installation with backup node following, to the best of my ability, the user manual) and copied my "old" config files (hornetq-configuration.xml, hornetq-jms.xml and hornetq-queues.xml) into the new installation only changing to the new netty conector and acceptor classes in hornetq-configuration.xml.

             

            On the jboss side I have upgraded the jars in the resource adapter (hornetq-core-client, hornetq-jms.jar  and hornetq-ra.jar) and netty.jar under jboss/<server_dir>/lib/ and changed the netty connector factory class in ra.xml.

             

            The setup is really simple and I cannot understand why the the messaging server doesn't register the mdb's but I must have missed something that has changed in configuration between 2.0 and 2.1.

             

            Sending messages is working fine, consuming is not.

             

            Any ideas would be helpful. Sure  I can reinstall again but i don't see how that would help me. Will try that as a last resort.

             

            My mdb annotation

            {code:java}

             

            @MessageDriven(name="ActionMdb", activationConfig = {
               @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"),
               @ActivationConfigProperty(propertyName="destination", propertyValue="queue/actionQ"),
               @ActivationConfigProperty(propertyName="maxSession", propertyValue="30")
            })
            @Pool (value="StrictMaxPool", maxSize=40, timeout=20000)
            @TransactionManagement(value= TransactionManagementType.CONTAINER)
            @TransactionAttribute(value= TransactionAttributeType.REQUIRED)
            {code}

             

            • 3. Re: HornetQ 2.0 to 2.1 beta3 upgrade: consumerCount = 0
              clebert.suconic

              There must be something misconfigured.

               

              Look at your logs.

               

              I don't believe this would be a bug. In a simple use case like yours (receiving messages on MDBs)... we would have many users already complaining about it. I'm not saying it's impossible.. but unlikely.

              • 4. Re: HornetQ 2.0 to 2.1 beta3 upgrade: consumerCount = 0

                Agreed, must be som misconfiguration on my part...the question is where

                 

                I have now reinstalled hornetq and jboss resource adapter yet again and still the MDBs will not register as consumers on the queues. I have left the hornetq configuration files "untouched" except from entering the appropriate ip addresses and data storage directory (on the live and backup node).

                 

                The only thing different from the user manual is the resource adapter name. I'm using the default name jms-ra.ra where the manual specifies hornetq-ra.rar. This is so that I don't have to specify the adapter name in the MDB annotation. Do you know if there is a problem with that?

                 

                jms-ds.xml

                 

                {code:xml}

                 

                <connection-factories>
                   <!--
                    JMS Stuff
                   -->
                   <mbean code="org.jboss.jms.jndi.JMSProviderLoader" name="hornetq:service=JMSProviderLoader,name=JMSProvider">
                      <attribute name="ProviderName">DefaultJMSProvider</attribute>
                      <attribute name="ProviderAdapterClass">org.jboss.jms.jndi.JNDIProviderAdapter</attribute>
                      <attribute name="FactoryRef">java:/XAConnectionFactory</attribute>
                      <attribute name="QueueFactoryRef">java:/XAConnectionFactory</attribute>
                      <attribute name="TopicFactoryRef">java:/XAConnectionFactory</attribute>
                   </mbean>
                   <!--
                    JMS XA Resource adapter, use this to get transacted JMS in beans
                   -->
                   <tx-connection-factory>
                      <jndi-name>JmsXA</jndi-name>
                      <xa-transaction/>
                      <rar-name>jms-ra.rar</rar-name>
                      <connection-definition>org.hornetq.ra.HornetQRAConnectionFactory</connection-definition>
                      <config-property name="SessionDefaultType" type="java.lang.String">javax.jms.Queue</config-property>
                      <config-property name="JmsProviderAdapterJNDI" type="java.lang.String">java:/DefaultJMSProvider</config-property>
                      <max-pool-size>200</max-pool-size>
                      <security-domain-and-application>JmsXARealm</security-domain-and-application>
                   </tx-connection-factory>
                </connection-factories>

                 

                {code}

                 

                Another thought, the hornetq-transports.jar have been removed from the project so I simply removed that from jboss classpath (./server/<server_name>/lib). Should I replace that with hornetq-core-client.jar?

                 

                My configuration file on jboss

                ra.xml

                 

                {code:xml}

                <?xml version="1.0" encoding="UTF-8"?> <!-- $Id: ra.xml 76819 2008-08-08 11:04:20Z jesper.pedersen $ --> <connector xmlns="http://java.sun.com/xml/ns/j2ee"            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"            xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee            http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"            version="1.5">    <description>HornetQ 2.0 Resource Adapter</description>    <display-name>HornetQ 2.0 Resource Adapter</display-name>    <vendor-name>Red Hat Middleware LLC</vendor-name>    <eis-type>JMS 1.1 Server</eis-type>    <resourceadapter-version>1.0</resourceadapter-version>    <license>       <description> Copyright 2009 Red Hat, Inc. Red Hat licenses this file to you under the Apache License, version 2.0 (the "License"); you may not use this file except in compliance with the License.  You may obtain a copy of the License at    http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the specific language governing permissions and limitations under the License.        </description>       <license-required>true</license-required>    </license>    <resourceadapter>       <resourceadapter-class>org.hornetq.ra.HornetQResourceAdapter</resourceadapter-class>       <config-property>          <description>The transport type</description>          <config-property-name>ConnectorClassName</config-property-name>          <config-property-type>java.lang.String</config-property-type>          <config-property-value>org.hornetq.core.remoting.impl.netty.NettyConnectorFactory</config-property-value>       </config-property>       <config-property>          <description>The transport configuration. These values must be in the form of key=val;key=val;</description>          <config-property-name>ConnectionParameters</config-property-name>          <config-property-type>java.lang.String</config-property-type>          <config-property-value>host=10.10.48.20;port=5445</config-property-value>       </config-property>       <config-property>         <description>Should clean server shutdown trigger failover?</description>         <config-property-name>FailoverOnServerShutdown</config-property-name>         <config-property-type>java.lang.Boolean</config-property-type>         <config-property-value>true</config-property-value>       </config-property>       <outbound-resourceadapter>          <connection-definition>             <managedconnectionfactory-class>org.hornetq.ra.HornetQRAManagedConnectionFactory</managedconnectionfactory-class>             <config-property>                <description>The default session type</description>                <config-property-name>SessionDefaultType</config-property-name>                <config-property-type>java.lang.String</config-property-type>                <config-property-value>javax.jms.Queue</config-property-value>             </config-property>             <config-property>                <description>Try to obtain a lock within specified number of seconds; less than or equal to 0 disable this functionality</description>                <config-property-name>UseTryLock</config-property-name>                <config-property-type>java.lang.Integer</config-property-type>                <config-property-value>0</config-property-value>             </config-property>             <connectionfactory-interface>org.hornetq.ra.HornetQRAConnectionFactory</connectionfactory-interface>             <connectionfactory-impl-class>org.hornetq.ra.HornetQRAConnectionFactoryImpl</connectionfactory-impl-class>             <connection-interface>javax.jms.Session</connection-interface>             <connection-impl-class>org.hornetq.ra.HornetQRASession</connection-impl-class>          </connection-definition>          <transaction-support>XATransaction</transaction-support>          <authentication-mechanism>             <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>             <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>          </authentication-mechanism>          <reauthentication-support>false</reauthentication-support>       </outbound-resourceadapter>       <inbound-resourceadapter>          <messageadapter>             <messagelistener>                <messagelistener-type>javax.jms.MessageListener</messagelistener-type>                <activationspec>                   <activationspec-class>org.hornetq.ra.inflow.HornetQActivationSpec</activationspec-class>                   <required-config-property>                       <config-property-name>destination</config-property-name>                   </required-config-property>                </activationspec>             </messagelistener>          </messageadapter>       </inbound-resourceadapter>    </resourceadapter> </connector>

                {code}

                 

                MDB annotation

                 

                {code:java}

                @MessageDriven(name="ActionMdb", activationConfig = {          @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"),          @ActivationConfigProperty(propertyName="destination", propertyValue="queue/actionQ"),          @ActivationConfigProperty(propertyName="maxSession", propertyValue="30")      }) @Pool (value="StrictMaxPool", maxSize=40, timeout=20000) @TransactionManagement(value= TransactionManagementType.CONTAINER) @TransactionAttribute(value= TransactionAttributeType.REQUIRED)

                {code}

                 

                configuration on HornetQ live node:

                hornetq-configuration.xml

                {code:xml}

                <configuration xmlns="urn:hornetq"                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"                xsi:schemaLocation="urn:hornetq /schema/hornetq-configuration.xsd">    <clustered>true</clustered>    <backup-connector-ref connector-name="backup-connector"/>    <shared-store>false</shared-store>    <paging-directory>${data.dir:../data}/paging</paging-directory>      <bindings-directory>${data.dir:../data}/bindings</bindings-directory>    <journal-directory>${data.dir:../data}/journal</journal-directory>    <large-messages-directory>${data.dir:../data}/large-messages</large-messages-directory>    <journal-min-files>10</journal-min-files>    <!-- test     <journal-compact-min-files>0</journal-compact-min-files>    <journal-compact-percentage>0</journal-compact-percentage>    -->       <connectors>            <connector name="netty">          <factory-class>org.hornetq.core.remoting.impl.netty.NettyConnectorFactory</factory-class>          <param key="host"  value="${hornetq.remoting.netty.host:10.10.48.20}"/>          <param key="port"  value="${hornetq.remoting.netty.port:5445}"/>       </connector>      <connector name="backup-connector">          <factory-class>org.hornetq.core.remoting.impl.netty.NettyConnectorFactory</factory-class>          <param key="host"  value="${hornetq.remoting.netty.host:10.10.48.21}"/>          <param key="port"  value="${hornetq.remoting.netty.port:5445}"/>      </connector>    </connectors>    <acceptors>       <acceptor name="netty">          <factory-class>org.hornetq.core.remoting.impl.netty.NettyAcceptorFactory</factory-class>          <param key="host"  value="${hornetq.remoting.netty.host:10.10.48.20}"/>          <param key="port"  value="${hornetq.remoting.netty.port:5445}"/>       </acceptor>          </acceptors>    <broadcast-groups>       <broadcast-group name="bg-group1">          <group-address>231.7.7.7</group-address>          <group-port>9876</group-port>          <broadcast-period>5000</broadcast-period>          <connector-ref connector-name="netty" backup-connector-name="backup-connector"/>               </broadcast-group>    </broadcast-groups>    <discovery-groups>       <discovery-group name="dg-group1">          <group-address>231.7.7.7</group-address>          <group-port>9876</group-port>          <refresh-timeout>10000</refresh-timeout>       </discovery-group>    </discovery-groups>       <cluster-connections>       <cluster-connection name="my-cluster">          <address>jms</address>                 <discovery-group-ref discovery-group-name="dg-group1"/>       </cluster-connection>    </cluster-connections>       <security-settings>       <security-setting match="#">          <permission type="createNonDurableQueue" roles="guest"/>          <permission type="deleteNonDurableQueue" roles="guest"/>          <permission type="consume" roles="guest"/>          <permission type="send" roles="guest"/>       </security-setting>    </security-settings>    <address-settings>       <!--default for catch all-->       <address-setting match="#">          <dead-letter-address>jms.queue.DLQ</dead-letter-address>          <expiry-address>jms.queue.ExpiryQueue</expiry-address>          <redelivery-delay>0</redelivery-delay>          <max-size-bytes>10485760</max-size-bytes>                <message-counter-history-day-limit>10</message-counter-history-day-limit>          <address-full-policy>BLOCK</address-full-policy>       </address-setting>    </address-settings> </configuration>

                {code}

                 

                hornetq-jms.xml

                 

                {code:xml}

                <configuration xmlns="urn:hornetq"             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"             xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd">            <connection-factory name="NettyConnectionFactory">         <connectors>          <connector-ref connector-name="netty"/>         </connectors>           <entries>                <entry name="/ConnectionFactory"/>                <entry name="/XAConnectionFactory"/>           </entries>      </connection-factory>            <queue name="DLQ">           <entry name="/queue/DLQ"/>      </queue>      <queue name="ExpiryQueue">           <entry name="/queue/ExpiryQueue"/>      </queue>           <queue name="actionDLQ">             <entry name="/queue/actionDLQ"/>        <durable>true</durable>         </queue>         <queue name="actionQ">             <entry name="/queue/actionQ"/>        <durable>true</durable>         </queue>         <queue name="transactionActionDLQ">             <entry name="/queue/transactionActionDLQ"/>        <durable>true</durable>         </queue>         <queue name="transactionActionQ">             <entry name="/queue/transactionActionQ"/>        <durable>true</durable>         </queue>         <queue name="siteProgramRevenueDLQ">             <entry name="/queue/siteProgramRevenueDLQ"/>        <durable>true</durable>         </queue>         <queue name="siteProgramRevenueQ">             <entry name="/queue/siteProgramRevenueQ"/>        <durable>true</durable>         </queue>         <queue name="actionCountDLQ">             <entry name="/queue/actionCountDLQ"/>        <durable>true</durable>         </queue>         <queue name="actionCountQ">             <entry name="/queue/actionCountQ"/>        <durable>true</durable>         </queue>         <queue name="uniqueCountDLQ">             <entry name="/queue/uniqueCountDLQ"/>        <durable>true</durable>         </queue>         <queue name="uniqueCountQ">             <entry name="/queue/uniqueCountQ"/>        <durable>true</durable>         </queue>         <queue name="jobQ">             <entry name="/queue/jobQ"/>        <durable>true</durable>         </queue>      </configuration>

                {code}

                 

                hornetq-queues.xml

                 

                {code:xml}

                <configuration xmlns="urn:hornetq"                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"                xsi:schemaLocation="urn:hornetq /schema/hornetq-configuration.xsd">      <address-settings>          <address-setting match="jms.queue.actionDLQ">              <max-delivery-attempts>1</max-delivery-attempts>              <max-size-bytes>-1</max-size-bytes>              <page-size-bytes>10485760</page-size-bytes>           </address-setting>          <address-setting match="jms.queue.actionQ">              <dead-letter-address>jms.queue.actionDLQ</dead-letter-address>              <max-delivery-attempts>10</max-delivery-attempts>              <redelivery-delay>10000</redelivery-delay>              <max-size-bytes>104857600</max-size-bytes>              <page-size-bytes>10485760</page-size-bytes>               <address-full-policy>PAGE</address-full-policy>                    <redistribution-delay>60000</redistribution-delay>           </address-setting>                    <address-setting match="jms.queue.transactionActionDLQ">              <max-delivery-attempts>1</max-delivery-attempts>              <max-size-bytes>-1</max-size-bytes>              <page-size-bytes>10485760</page-size-bytes>           </address-setting>          <address-setting match="jms.queue.transactionActionQ">              <dead-letter-address>jms.queue.transactionActionDLQ</dead-letter-address>              <max-delivery-attempts>10</max-delivery-attempts>              <redelivery-delay>10000</redelivery-delay>              <max-size-bytes>104857600</max-size-bytes>              <page-size-bytes>10485760</page-size-bytes>              <address-full-policy>PAGE</address-full-policy>                 <redistribution-delay>60000</redistribution-delay>           </address-setting>                    <address-setting match="jms.queue.siteProgramRevenueDLQ">              <max-delivery-attempts>1</max-delivery-attempts>              <max-size-bytes>-1</max-size-bytes>              <page-size-bytes>10485760</page-size-bytes>           </address-setting>          <address-setting match="jms.queue.siteProgramRevenueQ">              <dead-letter-address>jms.queue.siteProgramRevenueDLQ</dead-letter-address>              <max-delivery-attempts>10</max-delivery-attempts>              <redelivery-delay>10000</redelivery-delay>              <max-size-bytes>104857600</max-size-bytes>              <page-size-bytes>10485760</page-size-bytes>              <address-full-policy>PAGE</address-full-policy>                 <redistribution-delay>60000</redistribution-delay>           </address-setting>                    <address-setting match="jms.queue.actionCountDLQ">              <max-delivery-attempts>1</max-delivery-attempts>              <max-size-bytes>-1</max-size-bytes>              <page-size-bytes>10485760</page-size-bytes>           </address-setting>          <address-setting match="jms.queue.actionCountQ">              <dead-letter-address>jms.queue.actionCountDLQ</dead-letter-address>              <max-delivery-attempts>10</max-delivery-attempts>              <redelivery-delay>10000</redelivery-delay>              <max-size-bytes>104857600</max-size-bytes>              <page-size-bytes>10485760</page-size-bytes>              <address-full-policy>PAGE</address-full-policy>                 <redistribution-delay>60000</redistribution-delay>           </address-setting>                    <address-setting match="jms.queue.uniqueCountDLQ">              <max-delivery-attempts>1</max-delivery-attempts>              <max-size-bytes>-1</max-size-bytes>              <page-size-bytes>10485760</page-size-bytes>           </address-setting>          <address-setting match="jms.queue.uniqueCountQ">              <dead-letter-address>jms.queue.uniqueCountDLQ</dead-letter-address>              <max-delivery-attempts>10</max-delivery-attempts>              <redelivery-delay>10000</redelivery-delay>              <max-size-bytes>104857600</max-size-bytes>              <page-size-bytes>10485760</page-size-bytes>              <address-full-policy>PAGE</address-full-policy>                 <redistribution-delay>60000</redistribution-delay>           </address-setting>                    <address-setting match="jms.queue.jobQ">              <max-delivery-attempts>1</max-delivery-attempts>              <max-size-bytes>104857600</max-size-bytes>              <page-size-bytes>10485760</page-size-bytes>              <address-full-policy>PAGE</address-full-policy>                 <redistribution-delay>60000</redistribution-delay>           </address-setting>      </address-settings> </configuration>

                {code}

                 

                I don't see any errors in either JBoss or HornetQ logs.

                 

                If you please could take a quick look to see if I missed something obvious it would be much appreciated!

                 

                 

                • 5. Re: HornetQ 2.0 to 2.1 beta3 upgrade: consumerCount = 0
                  clebert.suconic
                  This is so that I don't have to specify the adapter name in the MDB annotation. Do you know if there is a problem with that?

                   

                   

                  If you were using jboss-6 there wouldn't be a problem, as the we have renamed hornetq-ra.rar as the default name.

                   

                   

                  You should need to rename jms-ra.ra and rename hornetq-ra.rar as jms-ra.ra

                  • 6. Re: HornetQ 2.0 to 2.1 beta3 upgrade: consumerCount = 0

                    Yes that's exactly what I have done, renaming hornetq-ra.rar to jms-ra.rar (and removing the default jms-ra.rar).

                     

                    We are using jboss 5.1 in the production (and test) environment and upgrading to JBoss 6 is not an option until it has reach GA.

                     

                    Any other clues?

                    • 7. Re: HornetQ 2.0 to 2.1 beta3 upgrade: consumerCount = 0
                      timfox

                      After a clean install into a fresh JBoss installation, do the MDB examples in the distro work ok?

                      • 8. Re: HornetQ 2.0 to 2.1 beta3 upgrade: consumerCount = 0

                        In my development environment where hornetq is running inside jboss 5.1 it is working just fine (created with the jboss5 script) . The problem is when using a stand alone hornetq (live/backup) and jboss connects remotely via netty. I haven't had any problems using HornetQ 2.0 the sam way.

                         

                        I do see that the connection is up when lookin at netstat on each server:

                         

                        on jboss server:

                        tcp        0      0 10.10.48.2:39016            10.10.48.20:5445            ESTABLISHED
                        tcp        0      0 10.10.48.2:39017            10.10.48.20:5445            ESTABLISHED
                        tcp        0      0 10.10.48.2:33879            10.10.48.20:5445            ESTABLISHED

                         

                        on hornetq live server:

                        tcp6       0      0 10.10.48.20:5445        10.10.48.2:39017        ESTABLISHED

                        tcp6       0      0 10.10.48.20:5445        10.10.48.2:33879        ESTABLISHED

                        tcp6       0      0 10.10.48.20:5445        10.10.48.2:39016        ESTABLISHED
                        traffic from jboss -> hornetq

                        {code}

                        18:13:11.706294 IP broker01.test.adtraction.se.hpoms-dps-lstn > 239.192.35.215.netsupport: UDP, length 119 18:13:12.101978 IP broker01.test.adtraction.se.hpoms-dps-lstn > 239.192.35.215.netsupport: UDP, length 119 18:13:12.497491 IP broker01.test.adtraction.se.hpoms-dps-lstn > 239.192.35.215.netsupport: UDP, length 119 18:13:12.893158 IP broker01.test.adtraction.se.hpoms-dps-lstn > 239.192.35.215.netsupport: UDP, length 119 18:13:13.225458 IP broker01.test.adtraction.se.60360 > reserved-multicast-range-NOT-delegated.example.com.sd: UDP, length 4096 18:13:13.225485 IP broker01.test.adtraction.se > reserved-multicast-range-NOT-delegated.example.com: udp 18:13:13.225487 IP broker01.test.adtraction.se > reserved-multicast-range-NOT-delegated.example.com: udp 18:13:13.288549 IP broker01.test.adtraction.se.hpoms-dps-lstn > 239.192.35.215.netsupport: UDP, length 119 18:13:13.684131 IP broker01.test.adtraction.se.hpoms-dps-lstn > 239.192.35.215.netsupport: UDP, length 119 18:13:14.079725 IP broker01.test.adtraction.se.hpoms-dps-lstn > 239.192.35.215.netsupport: UDP, length 119 18:13:14.475273 IP broker01.test.adtraction.se.hpoms-dps-lstn > 239.192.35.215.netsupport: UDP, length 119 18:13:14.870748 IP broker01.test.adtraction.se.hpoms-dps-lstn > 239.192.35.215.netsupport: UDP, length 119 18:13:15.266291 IP broker01.test.adtraction.se.hpoms-dps-lstn > 239.192.35.215.netsupport: UDP, length 119 18:13:15.661885 IP broker01.test.adtraction.se.hpoms-dps-lstn > 239.192.35.215.netsupport: UDP, length 119 18:13:16.057509 IP broker01.test.adtraction.se.hpoms-dps-lstn > 239.192.35.215.netsupport: UDP, length 119 18:13:16.453055 IP broker01.test.adtraction.se.hpoms-dps-lstn > 239.192.35.215.netsupport: UDP, length 119 18:13:16.794172 IP app01.39016 > broker01.test.adtraction.se.5445: P 1221998770:1221998791(21) ack 3699649413 win 46 <nop,nop,timestamp 2936085384 147777804> 18:13:16.794546 IP broker01.test.adtraction.se.5445 > app01.39016: P 1:22(21) ack 21 win 102 <nop,nop,timestamp 147780805 2936085384> 18:13:16.794580 IP app01.39016 > broker01.test.adtraction.se.5445: . ack 22 win 46 <nop,nop,timestamp 2936085384 147780805> 18:13:16.848673 IP broker01.test.adtraction.se.hpoms-dps-lstn > 239.192.35.215.netsupport: UDP, length 119 18:13:17.244280 IP broker01.test.adtraction.se.hpoms-dps-lstn > 239.192.35.215.netsupport: UDP, length 119 18:13:17.639776 IP broker01.test.adtraction.se.hpoms-dps-lstn > 239.192.35.215.netsupport: UDP, length 119 18:13:18.035363 IP broker01.test.adtraction.se.hpoms-dps-lstn > 239.192.35.215.netsupport: UDP, length 119 18:13:18.225896 IP broker01.test.adtraction.se.60360 > reserved-multicast-range-NOT-delegated.example.com.sd: UDP, length 4096

                        {code}

                         

                        traffic from hornetq -> jboss

                         

                        {code}

                        18:12:00.723879 IP app01.45688 > reserved-multicast-range-NOT-delegated.example.com.45688: UDP, length 199 18:12:10.730132 IP app01.33879 > broker01.test.adtraction.se.5445: Flags [P.], seq 1563280304:1563280325, ack 1029411470, win 46, options [nop,nop,TS val 2936076042 ecr 147776870], length 21 18:12:10.730413 IP broker01.test.adtraction.se.5445 > app01.33879: Flags [P.], seq 1:22, ack 21, win 46, options [nop,nop,TS val 147779870 ecr 2936076042], length 21 18:12:10.730546 IP app01.33879 > broker01.test.adtraction.se.5445: Flags [.], ack 22, win 46, options [nop,nop,TS val 2936076042 ecr 147779870], length 0 18:12:10.763727 IP app01.45688 > reserved-multicast-range-NOT-delegated.example.com.45688: UDP, length 199 18:12:13.712770 IP app01.45688 > reserved-multicast-range-NOT-delegated.example.com.45688: UDP, length 216 18:12:13.893129 IP app01.45688 > reserved-multicast-range-NOT-delegated.example.com.45688: UDP, length 67 18:12:14.894773 IP app01.45688 > reserved-multicast-range-NOT-delegated.example.com.45688: UDP, length 67 18:12:16.518408 IP app01.45688 > reserved-multicast-range-NOT-delegated.example.com.45688: UDP, length 84 18:12:17.520068 IP app01.45688 > reserved-multicast-range-NOT-delegated.example.com.45688: UDP, length 84 18:12:20.071498 IP app01.39016 > broker01.test.adtraction.se.5445: Flags [P.], seq 1221998770:1221998791, ack 3699649413, win 46, options [nop,nop,TS val 2936085384 ecr 147777804], length 21 18:12:20.071719 IP broker01.test.adtraction.se.5445 > app01.39016: Flags [P.], seq 1:22, ack 21, win 102, options [nop,nop,TS val 147780805 ecr 2936085384], length 21 18:12:20.071991 IP app01.39016 > broker01.test.adtraction.se.5445: Flags [.], ack 22, win 46, options [nop,nop,TS val 2936085384 ecr 147780805], length 0 18:12:30.786010 IP app01.33879 > broker01.test.adtraction.se.5445: Flags [P.], seq 21:34, ack 22, win 46, options [nop,nop,TS val 2936096098 ecr 147779870], length 13 18:12:30.786327 IP broker01.test.adtraction.se.5445 > app01.33879: Flags [P.], seq 22:39, ack 34, win 46, options [nop,nop,TS val 147781876 ecr 2936096098], length 17 18:12:30.786613 IP app01.33879 > broker01.test.adtraction.se.5445: Flags [.], ack 39, win 46, options [nop,nop,TS val 2936096098 ecr 147781876], length 0 18:12:40.736049 IP app01.33879 > broker01.test.adtraction.se.5445: Flags [P.], seq 34:55, ack 39, win 46, options [nop,nop,TS val 2936106048 ecr 147781876], length 21 18:12:40.736231 IP broker01.test.adtraction.se.5445 > app01.33879: Flags [P.], seq 39:60, ack 55, win 46, options [nop,nop,TS val 147782871 ecr 2936106048], length 21 18:12:40.736466 IP app01.33879 > broker01.test.adtraction.se.5445: Flags [.], ack 60, win 46, options [nop,nop,TS val 2936106048 ecr 147782871], length 0 18:12:46.525700 IP app01.45688 > reserved-multicast-range-NOT-delegated.example.com.45688: UDP, length 67 18:12:47.528213 IP app01.45688 > reserved-multicast-range-NOT-delegated.example.com.45688: UDP, length 67

                        {code}

                         

                        I will try to rename jms-ra.rar to hornetq-ra.rar and add the adapter annotation on the MDBs as specified in the documentation to see if that changes anything.

                         

                        And as I said earlier, sending messages works fine, both from an standalone client and from inside the JBoss EJB container.

                        • 9. Re: HornetQ 2.0 to 2.1 beta3 upgrade: consumerCount = 0
                          clebert.suconic

                          " The problem is when using a stand alone hornetq (live/backup) and jboss connects remotely via netty "

                           

                           

                          Well.. maybe then you found an issue...

                           

                          We could try it If you could generate a simple program replicating it.. with simple instructions in  how to replicate it.

                          • 10. Re: HornetQ 2.0 to 2.1 beta3 upgrade: consumerCount = 0

                            Ok, I will try to create a simple test. I'll be back...

                            • 11. Re: HornetQ 2.0 to 2.1 beta3 upgrade: consumerCount = 0
                              timfox

                              The first thing to do is to see if the MDB example works, this will tell us if there is some real problem with 5.1 or whether it's just your config......

                              • 12. Re: HornetQ 2.0 to 2.1 beta3 upgrade: consumerCount = 0

                                I have tested the javaee/jca-config example and it works fine.

                                My application also work in the development environment using integrated HornetQ 2.1 in JBoss 5.1.

                                 

                                I cannot, however, get it to work using JBoss 5.1 and stand alone HornetQ 2.1 and netty connector. I have simplified my konfiguration to a minimum but it still doesn't work. Switching to HornetQ 2.0 with the same configuration, it works (changing between org.hornetq.core.remoting.impl.netty.NettyConnectorFactory/NettyAcceptorFactory and org.hornetq.integration.transports.netty.NettyConnectorFactory/NettyAcceptorFactory).

                                 

                                I'm about to give up. Unfortunately there are issues with high load (with paging), replicated storage and compression in HornetQ 2.0 that prevents us from using that in production. My only option seem to be to keep JBM or try something else  (i.e. ActiveMQ).

                                • 13. Re: HornetQ 2.0 to 2.1 beta3 upgrade: consumerCount = 0

                                  When changing log level to FINE the JBoss log loops around this (infinitely..), any ideas?

                                   

                                   

                                  2010-05-16 01:49:49,855 FINE  [org.hornetq.core.remoting.impl.netty.NettyConnector] (WorkManager(2)-5) Started Netty Connector version 3.2.0.BETA1-r2215
                                  2010-05-16 01:49:49,855 FINE  [org.hornetq.core.remoting.impl.netty.NettyConnector] (WorkManager(2)-5) Started Netty Connector version 3.2.0.BETA1-r2215
                                  2010-05-16 01:49:49,855 FINE  [org.hornetq.core.remoting.impl.netty.NettyConnector] (WorkManager(2)-2) Started Netty Connector version 3.2.0.BETA1-r2215
                                  2010-05-16 01:49:49,855 FINE  [org.hornetq.core.remoting.impl.netty.NettyConnector] (WorkManager(2)-2) Started Netty Connector version 3.2.0.BETA1-r2215
                                  2010-05-16 01:49:49,856 FINE  [org.hornetq.core.remoting.impl.netty.NettyConnector] (WorkManager(2)-4) Started Netty Connector version 3.2.0.BETA1-r2215
                                  2010-05-16 01:49:49,856 FINE  [org.hornetq.core.remoting.impl.netty.NettyConnector] (WorkManager(2)-4) Started Netty Connector version 3.2.0.BETA1-r2215
                                  2010-05-16 01:49:49,856 FINE  [org.hornetq.core.remoting.impl.netty.NettyConnector] (WorkManager(2)-3) Started Netty Connector version 3.2.0.BETA1-r2215
                                  2010-05-16 01:49:49,856 FINE  [org.hornetq.core.remoting.impl.netty.NettyConnector] (WorkManager(2)-3) Started Netty Connector version 3.2.0.BETA1-r2215
                                  2010-05-16 01:49:49,905 FINE  [org.hornetq.core.remoting.impl.netty.NettyConnector] (WorkManager(2)-6) Started Netty Connector version 3.2.0.BETA1-r2215
                                  2010-05-16 01:49:49,905 FINE  [org.hornetq.core.remoting.impl.netty.NettyConnector] (WorkManager(2)-6) Started Netty Connector version 3.2.0.BETA1-r2215
                                  • 14. Re: HornetQ 2.0 to 2.1 beta3 upgrade: consumerCount = 0
                                    timfox

                                    Christian Longberg wrote:

                                     

                                    I have tested the javaee/jca-config example and it works fine.

                                    My application also work in the development environment using integrated HornetQ 2.1 in JBoss 5.1.

                                     

                                    I cannot, however, get it to work using JBoss 5.1 and stand alone HornetQ 2.1 and netty connector. I have simplified my konfiguration to a minimum but it still doesn't work. Switching to HornetQ 2.0 with the same configuration, it works (changing between org.hornetq.core.remoting.impl.netty.NettyConnectorFactory/NettyAcceptorFactory and org.hornetq.integration.transports.netty.NettyConnectorFactory/NettyAcceptorFactory).

                                     

                                    I'm about to give up. Unfortunately there are issues with high load (with paging), replicated storage and compression in HornetQ 2.0 that prevents us from using that in production.

                                    If you think there are real issues then please file JIRAs. If you want us to be constructive you have to be constructive too. So far I haven't seen anything that points to anything other than configuration issues.

                                    1 2 Previous Next