[ARTEMIS 2.4.0] JMS Client Java 7

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

[ARTEMIS 2.4.0] JMS Client Java 7

Premik
Is there a way to connect to the Artemis server (2.4.0) using JMS client on
JRE7?
Unfortunately I'm stuck with Java 7 on the client side. I tried to use jars
from the Artemis 1.4.4 (the latest one supporting jre7 I believe). But the
message always goes to DLQ. I have the destination auto-creation enabled and
I can see the address+q gets created. But the message ends up in the DLQ
nevertheless.

I could run the 1.4.4 also on the server side. Where it seems the very same
code works. But that is really not great. Is there some wire-level
incompatibility between the versions? Would for example Hornet libraries
work better using the legacy connector?
Thanks



--
Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html
Reply | Threaded
Open this post in threaded view
|

Re: [ARTEMIS 2.4.0] JMS Client Java 7

jbertram
I think Artemis 1.4.x clients *should* be compatible with 2.x brokers, but
that's not to say there couldn't be a bug.  Lots of work has been done
recently in the area of compatibility for the 2.5 release so you might try
building the master branch and trying that out (be sure to add
"anycastPrefix=jms.queue.&multicastPrefix=jms.topic." to the acceptor which
the legacy clients are using - that's a recently added requirement).  You
can build the master branch using the following command: mvn clean package
-Prelease -DskipTests.


Justin

On Mon, Feb 5, 2018 at 1:01 PM, Premik <[hidden email]> wrote:

> Is there a way to connect to the Artemis server (2.4.0) using JMS client on
> JRE7?
> Unfortunately I'm stuck with Java 7 on the client side. I tried to use jars
> from the Artemis 1.4.4 (the latest one supporting jre7 I believe). But the
> message always goes to DLQ. I have the destination auto-creation enabled
> and
> I can see the address+q gets created. But the message ends up in the DLQ
> nevertheless.
>
> I could run the 1.4.4 also on the server side. Where it seems the very same
> code works. But that is really not great. Is there some wire-level
> incompatibility between the versions? Would for example Hornet libraries
> work better using the legacy connector?
> Thanks
>
>
>
> --
> Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-
> f2341805.html
>
Reply | Threaded
Open this post in threaded view
|

Re: [ARTEMIS 2.4.0] JMS Client Java 7

Premik
Thanks.
I finally managed to get it working on 2.4.0. I didn't even had to add that
two casePrefix acceptor parameters. It was indeed related to the "queue.jms"
prefix. But not only that.

It confused me the messages have header.address =  "jms.queue.test". But the
broker is expecting just an "test" address to be created. Not
"jms.queue.test".

But that was not the only thing. I have created the queue using the <queue>
element in the broker.xml. And for some reason it created "Multicast"
routing. Does it make any sense? Is the <queue> depricated in favour of the
<address> element? Because when I have  "test" -> multicast -> "test" the
messages with "jms.queue.test" in the header stil go DLQ.



--
Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html
Reply | Threaded
Open this post in threaded view
|

Re: [ARTEMIS 2.4.0] JMS Client Java 7

jbertram
 > I have created the queue using the <queue> element in the broker.xml.
And for some reason it created "Multicast" routing. Does it make any sense?

Yes, that makes sense.  The legacy <queue> element in <queues> does not
support any way to specify a routing-type so it just defaults to multicast
which was the default routing semantic in previous versions of Artemis.

> Is the <queue> depricated in favour of the <address> element?

The <queues> element (and everything in it) is deprecated in favor of
<addresses>.


Justin

On Tue, Feb 6, 2018 at 10:44 AM, Premik <[hidden email]> wrote:

> Thanks.
> I finally managed to get it working on 2.4.0. I didn't even had to add that
> two casePrefix acceptor parameters. It was indeed related to the
> "queue.jms"
> prefix. But not only that.
>
> It confused me the messages have header.address =  "jms.queue.test". But
> the
> broker is expecting just an "test" address to be created. Not
> "jms.queue.test".
>
> But that was not the only thing. I have created the queue using the <queue>
> element in the broker.xml. And for some reason it created "Multicast"
> routing. Does it make any sense? Is the <queue> depricated in favour of the
> <address> element? Because when I have  "test" -> multicast -> "test" the
> messages with "jms.queue.test" in the header stil go DLQ.
>
>
>
> --
> Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-
> f2341805.html
>