Artemis 2.2.0, last_value_queue not working with AMQP

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Artemis 2.2.0, last_value_queue not working with AMQP

vchen1
I was testing the last_value_queue and noticed that it is not working if connected with AMQP. Here is what I have tested:

1.) With port 61616, I followed the example on Artemis github and have the jndi file as:

java.naming.factory.initial=org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory

connectionFactory.myFactoryLookup=tcp://localhost:61616

and set _AMQ_LVQ_NAME as directed:

TextMessage message = session.createTextMessage(command);
           
message.setStringProperty("_AMQ_LVQ_NAME", "STOCK_NAME");

it works as expected, only keep the last message in the queue.

2.) Still with port 61616, but change

connectionFactory.myFactoryLookup=amqp://localhost:61616

then the last value queue breaks. It keeps all the messages sent to the queue.

3.) Change the port to use AMQP port 5672:

java.naming.factory.initial = org.apache.qpid.jms.jndi.JmsInitialContextFactory
connectionfactory.myFactoryLookup = amqp://localhost:5672

again the last value queue breaks. It keeps all the messages sent to the queue.

I wonder if the last value queue is designed to only work for Artemis JMS not AMQP?  Thanks,
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Artemis 2.2.0, last_value_queue not working with AMQP

Justin Bertram
The last-value queue feature isn't yet supported for AMQP clients.


Justin

On Fri, Aug 11, 2017 at 11:08 AM, vchen1 <[hidden email]> wrote:

> I was testing the last_value_queue and noticed that it is not working if
> connected with AMQP. Here is what I have tested:
>
> 1.) With port 61616, I followed the example on Artemis github and have the
> jndi file as:
>
> java.naming.factory.initial=org.apache.activemq.artemis.jndi.
> ActiveMQInitialContextFactory
>
> connectionFactory.myFactoryLookup=tcp://localhost:61616
>
> and set _AMQ_LVQ_NAME as directed:
>
> TextMessage message = session.createTextMessage(command);
>
> message.setStringProperty("_AMQ_LVQ_NAME", "STOCK_NAME");
>
> it works as expected, only keep the last message in the queue.
>
> 2.) Still with port 61616, but change
>
> connectionFactory.myFactoryLookup=amqp://localhost:61616
>
> then the last value queue breaks. It keeps all the messages sent to the
> queue.
>
> 3.) Change the port to use AMQP port 5672:
>
> java.naming.factory.initial =
> org.apache.qpid.jms.jndi.JmsInitialContextFactory
> connectionfactory.myFactoryLookup = amqp://localhost:5672
>
> again the last value queue breaks. It keeps all the messages sent to the
> queue.
>
> I wonder if the last value queue is designed to only work for Artemis JMS
> not AMQP?  Thanks,
>
>
>
> --
> View this message in context: http://activemq.2283324.n4.
> nabble.com/Artemis-2-2-0-last-value-queue-not-working-with-
> AMQP-tp4729633.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Artemis 2.2.0, last_value_queue not working with AMQP

MichaelAndrePearce
I've just created a PR to add support for this on AMQP (including test case)

https://github.com/apache/activemq-artemis/pull/1461

Hopefully we can get this feature supported for you soon.

Cheers
Mike

Sent from my iPhone

> On 11 Aug 2017, at 19:29, Justin Bertram <[hidden email]> wrote:
>
> The last-value queue feature isn't yet supported for AMQP clients.
>
>
> Justin
>
>> On Fri, Aug 11, 2017 at 11:08 AM, vchen1 <[hidden email]> wrote:
>>
>> I was testing the last_value_queue and noticed that it is not working if
>> connected with AMQP. Here is what I have tested:
>>
>> 1.) With port 61616, I followed the example on Artemis github and have the
>> jndi file as:
>>
>> java.naming.factory.initial=org.apache.activemq.artemis.jndi.
>> ActiveMQInitialContextFactory
>>
>> connectionFactory.myFactoryLookup=tcp://localhost:61616
>>
>> and set _AMQ_LVQ_NAME as directed:
>>
>> TextMessage message = session.createTextMessage(command);
>>
>> message.setStringProperty("_AMQ_LVQ_NAME", "STOCK_NAME");
>>
>> it works as expected, only keep the last message in the queue.
>>
>> 2.) Still with port 61616, but change
>>
>> connectionFactory.myFactoryLookup=amqp://localhost:61616
>>
>> then the last value queue breaks. It keeps all the messages sent to the
>> queue.
>>
>> 3.) Change the port to use AMQP port 5672:
>>
>> java.naming.factory.initial =
>> org.apache.qpid.jms.jndi.JmsInitialContextFactory
>> connectionfactory.myFactoryLookup = amqp://localhost:5672
>>
>> again the last value queue breaks. It keeps all the messages sent to the
>> queue.
>>
>> I wonder if the last value queue is designed to only work for Artemis JMS
>> not AMQP?  Thanks,
>>
>>
>>
>> --
>> View this message in context: http://activemq.2283324.n4.
>> nabble.com/Artemis-2-2-0-last-value-queue-not-working-with-
>> AMQP-tp4729633.html
>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Artemis 2.2.0, last_value_queue not working with AMQP

MichaelAndrePearce
This got merged so should be in the up coming 2.3.0 release for you.

Sent from my iPhone

> On 11 Aug 2017, at 21:30, Michael André Pearce <[hidden email]> wrote:
>
> I've just created a PR to add support for this on AMQP (including test case)
>
> https://github.com/apache/activemq-artemis/pull/1461
>
> Hopefully we can get this feature supported for you soon.
>
> Cheers
> Mike
>
> Sent from my iPhone
>
>> On 11 Aug 2017, at 19:29, Justin Bertram <[hidden email]> wrote:
>>
>> The last-value queue feature isn't yet supported for AMQP clients.
>>
>>
>> Justin
>>
>>> On Fri, Aug 11, 2017 at 11:08 AM, vchen1 <[hidden email]> wrote:
>>>
>>> I was testing the last_value_queue and noticed that it is not working if
>>> connected with AMQP. Here is what I have tested:
>>>
>>> 1.) With port 61616, I followed the example on Artemis github and have the
>>> jndi file as:
>>>
>>> java.naming.factory.initial=org.apache.activemq.artemis.jndi.
>>> ActiveMQInitialContextFactory
>>>
>>> connectionFactory.myFactoryLookup=tcp://localhost:61616
>>>
>>> and set _AMQ_LVQ_NAME as directed:
>>>
>>> TextMessage message = session.createTextMessage(command);
>>>
>>> message.setStringProperty("_AMQ_LVQ_NAME", "STOCK_NAME");
>>>
>>> it works as expected, only keep the last message in the queue.
>>>
>>> 2.) Still with port 61616, but change
>>>
>>> connectionFactory.myFactoryLookup=amqp://localhost:61616
>>>
>>> then the last value queue breaks. It keeps all the messages sent to the
>>> queue.
>>>
>>> 3.) Change the port to use AMQP port 5672:
>>>
>>> java.naming.factory.initial =
>>> org.apache.qpid.jms.jndi.JmsInitialContextFactory
>>> connectionfactory.myFactoryLookup = amqp://localhost:5672
>>>
>>> again the last value queue breaks. It keeps all the messages sent to the
>>> queue.
>>>
>>> I wonder if the last value queue is designed to only work for Artemis JMS
>>> not AMQP?  Thanks,
>>>
>>>
>>>
>>> --
>>> View this message in context: http://activemq.2283324.n4.
>>> nabble.com/Artemis-2-2-0-last-value-queue-not-working-with-
>>> AMQP-tp4729633.html
>>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>>
Loading...