You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "alan xie (JIRA)" <ji...@apache.org> on 2008/05/12 05:29:43 UTC

[jira] Created: (AMQ-1718) broker don't delivery message to consumer

broker don't delivery message to consumer
-----------------------------------------

                 Key: AMQ-1718
                 URL: https://issues.apache.org/activemq/browse/AMQ-1718
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker
    Affects Versions: 5.1.0
         Environment: os:suse10
            Reporter: alan xie


I have a consumer that is a spring's DefaultMessageListenerContainer. after it consume some message, it  receive null  from the queue ,while there are a lot of message on the queue that the consumer receive from. the client and server consoles have  any error info. my configures are below:
client:
<bean id="jmsFactory" class="org.springframework.jms.connection.SingleConnectionFactory">
        <property name="targetConnectionFactory">
          <bean class="org.apache.activemq.ActiveMQConnectionFactory">
	        <property name="brokerURL">
	          <value>tcp://localhost:61616</value>
	        </property>
	        <property name="userName" value="tester"></property>
        	<property name="password" value="test"></property>
        	<!-- 
        	<property name="dispatchAsync" value="false"/>
        	-->
        	<property name="exclusiveConsumer" value="true"></property>
	      </bean>
        </property>
      </bean>
    <bean id="messageListener" class="com.sitechasia.ebiz.peninsula.datasync.PeninsulaConsumer">
  	</bean>
  	<bean id="jmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer" lazy-init="false">
	  	<property name="connectionFactory" ref="jmsFactory"/>
	  	<property name="destinationName" value="peninsula.res2web"/>
	  	<property name="concurrentConsumers" value="1"/>
	  	<property name="maxConcurrentConsumers" value="1"/>
	  	<property name="messageListener" ref="messageListener"/>
  	</bean>
--------------------------------------------------------
server:
    it is a normal config.  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-1718) broker don't delivery message to consumer

Posted by "alan xie (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-1718?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=42754#action_42754 ] 

alan xie commented on AMQ-1718:
-------------------------------

and the jmsContainer object is injected a "transactionManager" property by spring's autowire=byName.

> broker don't delivery message to consumer
> -----------------------------------------
>
>                 Key: AMQ-1718
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1718
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.1.0
>         Environment: os:suse10
>            Reporter: alan xie
>
> I have a consumer that is a spring's DefaultMessageListenerContainer. after it consume some message, it  receive null  from the queue ,while there are a lot of message on the queue that the consumer receive from. the client and server consoles have  any error info. my configures are below:
> client:
> <bean id="jmsFactory" class="org.springframework.jms.connection.SingleConnectionFactory">
>         <property name="targetConnectionFactory">
>           <bean class="org.apache.activemq.ActiveMQConnectionFactory">
> 	        <property name="brokerURL">
> 	          <value>tcp://localhost:61616</value>
> 	        </property>
> 	        <property name="userName" value="tester"></property>
>         	<property name="password" value="test"></property>
>         	<!-- 
>         	<property name="dispatchAsync" value="false"/>
>         	-->
>         	<property name="exclusiveConsumer" value="true"></property>
> 	      </bean>
>         </property>
>       </bean>
>     <bean id="messageListener" class="com.sitechasia.ebiz.peninsula.datasync.PeninsulaConsumer">
>   	</bean>
>   	<bean id="jmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer" lazy-init="false">
> 	  	<property name="connectionFactory" ref="jmsFactory"/>
> 	  	<property name="destinationName" value="peninsula.res2web"/>
> 	  	<property name="concurrentConsumers" value="1"/>
> 	  	<property name="maxConcurrentConsumers" value="1"/>
> 	  	<property name="messageListener" ref="messageListener"/>
>   	</bean>
> --------------------------------------------------------
> server:
>     it is a normal config.  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (AMQ-1718) broker don't delivery message to consumer

Posted by "Helena Edelson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-1718?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=55610#action_55610 ] 

Helena Edelson edited comment on AMQ-1718 at 11/19/09 3:20 PM:
---------------------------------------------------------------

Hello Alan,
I am trying to narrow down the issue, please bear with me :) First, are you actually getting a NullPointerException thrown from the Queue after a message is received by the container or after several?
Can you add your full stack trace to this ticket with debug on spring jms, activemq and javax.jms?

1. One thing I notice in your above configuration is that you specify
<property name="concurrentConsumers" value="1"/>
<property name="maxConcurrentConsumers" value="1"/>

in your DefaultMessageListenerContainer. So you are not using dynamic scaling yet demarcating both concurrent and maxConcurrent as the same value. Since the default value for concurrentConsumers is 1 and you are not doing dynamic scaling, I think you can at least remove the maxConcurrentConsumers property, if not both.

Thanks. I have more thoughts on an alternate configuration above but wanted to see your trace first.

Cheers,  
Helena Edelson 

      was (Author: helena):
    Hello Alan,
I am trying to narrow down the issue, please bear with me :) First, are you actually getting a NullPointerException thrown from the Queue after a message is received by the container or after several?
Can you add your full stack trace to this ticket with debug on spring jms, activemq and javax.jms?

1. One thing I notice in your above configuration is that you specify
<property name="concurrentConsumers" value="1"/>
<property name="maxConcurrentConsumers" value="1"/>

in your DefaultMessageListenerContainer. So you are not using dynamic scaling yet demarcating both concurrent and maxConcurrent as the same value. Since the default value for concurrentConsumers is 1 and you are not doing dynamic scaling, 
I think you can at least remove the maxConcurrentConsumers property, if not both.

Thanks. I have more thoughts on an alternate configuration above but wanted to see your trace first.

Cheers,  
  
> broker don't delivery message to consumer
> -----------------------------------------
>
>                 Key: AMQ-1718
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1718
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.1.0
>         Environment: os:suse10
>            Reporter: alan xie
>             Fix For: 5.4.0
>
>
> I have a consumer that is a spring's DefaultMessageListenerContainer. after it consume some message, it  receive null  from the queue ,while there are a lot of message on the queue that the consumer receive from. the client and server consoles have  any error info. my configures are below:
> client:
> <bean id="jmsFactory" class="org.springframework.jms.connection.SingleConnectionFactory">
>         <property name="targetConnectionFactory">
>           <bean class="org.apache.activemq.ActiveMQConnectionFactory">
> 	        <property name="brokerURL">
> 	          <value>tcp://localhost:61616</value>
> 	        </property>
> 	        <property name="userName" value="tester"></property>
>         	<property name="password" value="test"></property>
>         	<!-- 
>         	<property name="dispatchAsync" value="false"/>
>         	-->
>         	<property name="exclusiveConsumer" value="true"></property>
> 	      </bean>
>         </property>
>       </bean>
>     <bean id="messageListener" class="com.sitechasia.ebiz.peninsula.datasync.PeninsulaConsumer">
>   	</bean>
>   	<bean id="jmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer" lazy-init="false">
> 	  	<property name="connectionFactory" ref="jmsFactory"/>
> 	  	<property name="destinationName" value="peninsula.res2web"/>
> 	  	<property name="concurrentConsumers" value="1"/>
> 	  	<property name="maxConcurrentConsumers" value="1"/>
> 	  	<property name="messageListener" ref="messageListener"/>
>   	</bean>
> --------------------------------------------------------
> server:
>     it is a normal config.  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-1718) broker don't delivery message to consumer

Posted by "Holly Edelson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-1718?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=55610#action_55610 ] 

Holly Edelson commented on AMQ-1718:
------------------------------------

Hello Alan,
I am trying to narrow down the issue, please bear with me :) First, are you actually getting a NullPointerException thrown from the Queue after a message is received by the container or after several?
Can you add your full stack trace to this ticket with debug on spring jms, activemq and javax.jms?

1. One thing I notice in your above configuration is that you specify
<property name="concurrentConsumers" value="1"/>
<property name="maxConcurrentConsumers" value="1"/>

in your DefaultMessageListenerContainer. So you are not using dynamic scaling yet demarcating both concurrent and maxConcurrent as the same value. Since the default value for concurrentConsumers is 1 and you are not doing dynamic scaling, 
I think you can at least remove the maxConcurrentConsumers property, if not both.

Thanks. I have more thoughts on an alternate configuration above but wanted to see your trace first.

Cheers,  

> broker don't delivery message to consumer
> -----------------------------------------
>
>                 Key: AMQ-1718
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1718
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.1.0
>         Environment: os:suse10
>            Reporter: alan xie
>             Fix For: 5.4.0
>
>
> I have a consumer that is a spring's DefaultMessageListenerContainer. after it consume some message, it  receive null  from the queue ,while there are a lot of message on the queue that the consumer receive from. the client and server consoles have  any error info. my configures are below:
> client:
> <bean id="jmsFactory" class="org.springframework.jms.connection.SingleConnectionFactory">
>         <property name="targetConnectionFactory">
>           <bean class="org.apache.activemq.ActiveMQConnectionFactory">
> 	        <property name="brokerURL">
> 	          <value>tcp://localhost:61616</value>
> 	        </property>
> 	        <property name="userName" value="tester"></property>
>         	<property name="password" value="test"></property>
>         	<!-- 
>         	<property name="dispatchAsync" value="false"/>
>         	-->
>         	<property name="exclusiveConsumer" value="true"></property>
> 	      </bean>
>         </property>
>       </bean>
>     <bean id="messageListener" class="com.sitechasia.ebiz.peninsula.datasync.PeninsulaConsumer">
>   	</bean>
>   	<bean id="jmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer" lazy-init="false">
> 	  	<property name="connectionFactory" ref="jmsFactory"/>
> 	  	<property name="destinationName" value="peninsula.res2web"/>
> 	  	<property name="concurrentConsumers" value="1"/>
> 	  	<property name="maxConcurrentConsumers" value="1"/>
> 	  	<property name="messageListener" ref="messageListener"/>
>   	</bean>
> --------------------------------------------------------
> server:
>     it is a normal config.  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.