You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by "sumit.wattal" <su...@gmail.com> on 2013/08/07 23:08:12 UTC
ActiveMQ MessageListener can't differentiate between command and
text message
Hi,
I have started to migrate from activemq 5.6 single broker to activemq 5.8
network of brokers. The new solution has one broker pumping data to a
distributed queue that resides on another broker which has a message
listener set up as under. I had an existing code which basically sets a
message listener for asynchronus reception.
Something like
messageConsumer.setMessageListener(new MessageListener() {
// ideally, we free this up as quickly as possible
@Override
public void onMessage(javax.jms.Message received) {
if(received != null)
{
...............
}
}
});
when i had a single broker solution the listener only received text
messages. Now when I have migrated to network of brokers I am seeing other
command structures as well (CONSUMER_INFO and PRODUCER_INFO). I am not sure
why is this happening in a broker network or what should i do to filter
these.
Regards,
Sumit
--
View this message in context: http://activemq.2283324.n4.nabble.com/ActiveMQ-MessageListener-can-t-differentiate-between-command-and-text-message-tp4670173.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: ActiveMQ MessageListener can't differentiate between command and
text message
Posted by Christian Posta <ch...@gmail.com>.
Don't need to use nio:// on the client side.
Your best bet is to create unit test that can reproduce it.
Start here:
http://svn.apache.org/viewvc/activemq/trunk/activemq-unit-tests/src/test/java/org/apache/activemq/ExclusiveConsumerTest.java?view=markup
and here:
http://svn.apache.org/viewvc/activemq/trunk/activemq-unit-tests/src/test/java/org/apache/activemq/network/SimpleNetworkTest.java?view=markup
On Wed, Aug 7, 2013 at 3:44 PM, sumit.wattal <su...@gmail.com>wrote:
> This is how I create my message consumer
>
> ActiveMQConnectionFactory activeMQConnectionFactory = new
> ActiveMQConnectionFactory();
>
> activeMQConnectionFactory.setBrokerURL("nio://localhost:61619"));
>
> final Connection connection = activeMQConnectionFactory.createConnection()
> ;
> final Session session = connection.createSession(false,
> Session.AUTO_ACKNOWLEDGE);
> ;
>
> final Destination destination = new ActiveMQQueue(queueName+
> "?consumer.exclusive=true")
> final MessageConsumer messageConsumer =
> session.createConsumer(destination);
>
> Then i set the messageListener for the consumer.
>
> Thanks & Regards,
>
> Sumit
>
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/ActiveMQ-MessageListener-can-t-differentiate-between-command-and-text-message-tp4670173p4670179.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
--
*Christian Posta*
http://www.christianposta.com/blog
twitter: @christianposta
Re: ActiveMQ MessageListener can't differentiate between command
and text message
Posted by "sumit.wattal" <su...@gmail.com>.
This is how I create my message consumer
ActiveMQConnectionFactory activeMQConnectionFactory = new
ActiveMQConnectionFactory();
activeMQConnectionFactory.setBrokerURL("nio://localhost:61619"));
final Connection connection = activeMQConnectionFactory.createConnection()
;
final Session session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
;
final Destination destination = new ActiveMQQueue(queueName+
"?consumer.exclusive=true")
final MessageConsumer messageConsumer = session.createConsumer(destination);
Then i set the messageListener for the consumer.
Thanks & Regards,
Sumit
--
View this message in context: http://activemq.2283324.n4.nabble.com/ActiveMQ-MessageListener-can-t-differentiate-between-command-and-text-message-tp4670173p4670179.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: ActiveMQ MessageListener can't differentiate between command and
text message
Posted by Christian Posta <ch...@gmail.com>.
Show how you create your consumer.
Your consumer shouldn't receive these messages unless you're subscribed to
advisory topics.
On Wed, Aug 7, 2013 at 2:08 PM, sumit.wattal <su...@gmail.com>wrote:
> Hi,
>
> I have started to migrate from activemq 5.6 single broker to activemq 5.8
> network of brokers. The new solution has one broker pumping data to a
> distributed queue that resides on another broker which has a message
> listener set up as under. I had an existing code which basically sets a
> message listener for asynchronus reception.
>
> Something like
>
> messageConsumer.setMessageListener(new MessageListener() {
> // ideally, we free this up as quickly as possible
> @Override
> public void onMessage(javax.jms.Message received) {
> if(received != null)
> {
> ...............
> }
> }
> });
>
> when i had a single broker solution the listener only received text
> messages. Now when I have migrated to network of brokers I am seeing other
> command structures as well (CONSUMER_INFO and PRODUCER_INFO). I am not sure
> why is this happening in a broker network or what should i do to filter
> these.
>
> Regards,
>
> Sumit
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/ActiveMQ-MessageListener-can-t-differentiate-between-command-and-text-message-tp4670173.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
--
*Christian Posta*
http://www.christianposta.com/blog
twitter: @christianposta