You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by wuwufen <17...@qq.com> on 2015/11/12 08:50:36 UTC

回复: a problem about mqtt and activemq

thank for your reply


1.i havn't use the retroactive  befor and i'm try to set the ActiveMQ config  
<subscriptionRecoveryPolicy> 
		<noSubscriptionRecoveryPolicy/>
 </subscriptionRecoveryPolicy>
but have no changes,the problem is still there


2. non-durable subscriptions won't occur this problem and if i use ActiveMQ Console of localhost          (http://192.168.3.131:8161/admin/) to send message to the test topic instead of mqtt client       won't occur this problem
and in the whole operating process activemq has no exception


3 the last i found i can (large probability) reproduce the problem
cliend  c1 ,c2 ,c3 ,c4  ; test topic T
1   c1 ,c2,c3 subscribe T
2   c1 unsubscribe T && c2 offline
3   c4 send message m1 to T  
4   c1 subscribe T
5   c1 received m1


















------------------ 原始邮件 ------------------
发件人: "Tim Bain [via ActiveMQ]";<ml...@n4.nabble.com>;
发送时间: 2015年11月12日(星期四) 中午1:49
收件人: "完美空白"<17...@qq.com>; 

主题: Re: a problem about mqtt and activemq



 	This sounds kind of like retroactive consumers ( 
http://activemq.apache.org/retroactive-consumer.html); are you using that 
feature? 

Are you able to reproduce this reliably in a test environment where you can 
change things and see the effects?  If so, does the problem occur with 
non-durable subscriptions? 

When the unsubscription doesn't work properly, can you confirm that the 
subscription is gone from the broker?  You can see that via JMX. 

If two messages are sent while the consumer is unsubscribed, does it get 
both or only one? 

Does each subscription run through the same exact code? 

Tim 
On Nov 11, 2015 5:54 PM, "wuwufen" <[hidden email]> wrote: 

> 3 mqttClent (c1,c2,c3,c4,c5);mqttclent setClindId,cleansession=false; 
>  activemq 5.12.0 (or befor) 
>  test topic(T) 
> 
> 
> 
> 1     c1,c2,c3 subscribe T 
> 2     c5 send message m1 to T 
> 3     c1,c2,c3 received m1 
> 
> .......sometimes (problem occurs) 
> 
> 4    c1 unsubscribe T 
> 5    c5 send message m2 to T (b c received m2) 
> 6    c1  subscribe  T 
> 7    c1 received  m2 
> 
> 8    c1 unsubscribe T 
> 9    c1  subscribe  T 
> 10   c1 received  m2 
> : 
> : 
> if(this problem occurs) 
> { 
>    11    d  subscribe  T 
>    12    d received  m2   //i don't know why 
> 
> } 
> 
> 
> at last 
> 13      b ,c ,d unsubscribe T 
> 14      a unsubscribe T 
> 15      a subscribe  T 
> 16      the result change good   a din't received m2 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> -- 
> View this message in context: 
> http://activemq.2283324.n4.nabble.com/a-problem-about-mqtt-and-activemq-tp4703831p4703895.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com. 
> 

 	 	 	 	
 	
 	
 	 		If you reply to this email, your message will be added to the discussion below:
 		http://activemq.2283324.n4.nabble.com/a-problem-about-mqtt-and-activemq-tp4703831p4703896.html 	
 	 		 		To unsubscribe from a problem about mqtt and activemq, click here.
 		NAML



--
View this message in context: http://activemq.2283324.n4.nabble.com/a-problem-about-mqtt-and-activemq-tp4703898.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: 回复: a problem about mqtt and activemq

Posted by Tim Bain <tb...@alumni.duke.edu>.
I was thinking that if you were accidentally using retroactive consumers,
that might explain the behavior; I didn't mean it as a solution.

I'm still curious whether JMX shows the subscription successfully removed
when the problem occurs.

Can you reproduce the problem with only c1 (consumer) and c5 (producer) but
without c2, c3, and c4?  Or is it only reproducible when there are multiple
consumers and some stay subscribed the whole time?

Tim
On Nov 12, 2015 1:04 AM, "wuwufen" <17...@qq.com> wrote:

> thank for your reply
>
>
> 1.i havn't use the retroactive  befor and i'm try to set the ActiveMQ
> config
> <subscriptionRecoveryPolicy>
>                 <noSubscriptionRecoveryPolicy/>
>  </subscriptionRecoveryPolicy>
> but have no changes,the problem is still there
>
>
> 2. non-durable subscriptions won't occur this problem and if i use
> ActiveMQ Console of localhost          (http://192.168.3.131:8161/admin/)
> to send message to the test topic instead of mqtt client       won't occur
> this problem
> and in the whole operating process activemq has no exception
>
>
> 3 the last i found i can (large probability) reproduce the problem
> cliend  c1 ,c2 ,c3 ,c4  ; test topic T
> 1   c1 ,c2,c3 subscribe T
> 2   c1 unsubscribe T && c2 offline
> 3   c4 send message m1 to T
> 4   c1 subscribe T
> 5   c1 received m1
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> ------------------ 原始邮件 ------------------
> 发件人: "Tim Bain [via ActiveMQ]";<ml-node+s2283324n4703896h52@n4.nabble.com
> >;
> 发送时间: 2015年11月12日(星期四) 中午1:49
> 收件人: "完美空白"<17...@qq.com>;
>
> 主题: Re: a problem about mqtt and activemq
>
>
>
>         This sounds kind of like retroactive consumers (
> http://activemq.apache.org/retroactive-consumer.html); are you using that
> feature?
>
> Are you able to reproduce this reliably in a test environment where you can
> change things and see the effects?  If so, does the problem occur with
> non-durable subscriptions?
>
> When the unsubscription doesn't work properly, can you confirm that the
> subscription is gone from the broker?  You can see that via JMX.
>
> If two messages are sent while the consumer is unsubscribed, does it get
> both or only one?
>
> Does each subscription run through the same exact code?
>
> Tim
> On Nov 11, 2015 5:54 PM, "wuwufen" <[hidden email]> wrote:
>
> > 3 mqttClent (c1,c2,c3,c4,c5);mqttclent setClindId,cleansession=false;
> >  activemq 5.12.0 (or befor)
> >  test topic(T)
> >
> >
> >
> > 1     c1,c2,c3 subscribe T
> > 2     c5 send message m1 to T
> > 3     c1,c2,c3 received m1
> >
> > .......sometimes (problem occurs)
> >
> > 4    c1 unsubscribe T
> > 5    c5 send message m2 to T (b c received m2)
> > 6    c1  subscribe  T
> > 7    c1 received  m2
> >
> > 8    c1 unsubscribe T
> > 9    c1  subscribe  T
> > 10   c1 received  m2
> > :
> > :
> > if(this problem occurs)
> > {
> >    11    d  subscribe  T
> >    12    d received  m2   //i don't know why
> >
> > }
> >
> >
> > at last
> > 13      b ,c ,d unsubscribe T
> > 14      a unsubscribe T
> > 15      a subscribe  T
> > 16      the result change good   a din't received m2
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > --
> > View this message in context:
> >
> http://activemq.2283324.n4.nabble.com/a-problem-about-mqtt-and-activemq-tp4703831p4703895.html
> > Sent from the ActiveMQ - User mailing list archive at Nabble.com.
> >
>
>
>
>
>                         If you reply to this email, your message will be
> added to the discussion below:
>
> http://activemq.2283324.n4.nabble.com/a-problem-about-mqtt-and-activemq-tp4703831p4703896.html
>                                         To unsubscribe from a problem
> about mqtt and activemq, click here.
>                 NAML
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/a-problem-about-mqtt-and-activemq-tp4703898.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.