Leglise Yann wrote:
Hello,

Hello!

I had sent a previous mail in the beginning of July concerning an AMQP version 
problem between client and broker.
It is OK for this point, but now I am realizing that the things are still not 
so clear for me.
Here are some assertions I believe as being true (please tell me if I am wrong):

*       AMQP is mainly inspired by JMS, and specifiy an implentation 
independent protocol for queue messaging,


Correct; AMQP is an implementation independent protocol for message queueing applications.

I'm not sure whether all those behind AMQP would say they were 'inspired' by JMS(!). However I think it's fair to say that JMS has always been an important use case for AMQP.

*       QPID is an implementation of AMQP available for several languages (i.e. 
C++, java, python ...),

Correct.

*       It is possible to write a QPID java client using JMS objects only (i.e. 
writing a java program with not a single org.apache.qpid.* import, even if the 
qpid jars are necessary for execution at least for the JNDI initialization that 
refer to org.apache.qpid.jndi.PropertiesFileInitialContextFactory),

Correct.

*       QPID java examples make use, in majority, of JMS,

The java examples do, yes.

*       For QPID java example that does not make use of JMS (amqpexample 
package), the client and the broker must use the same AMQP version (I mean, if 
the broker does not handle the AMQP version used by the client, no 
communciation can take place),

Correct.

So here are my questions:

1.      What is the links between QPID and JMS (How is it that using only JMS 
objects, QPID libraries are used)?

I'm not entirely sure I understand the question, so forgive me if I state the obvious or go off in the wrong direction!

JMS is an implementation independent API. A JMS client library will implement all the interfaces required by JMS and will map those to some underlying network protocol used to communicate with a broker.

The Qpid JMS client library maps the interface to particular interactions using AMQP. (If you are looking for details of that mapping, I'll leave that to another mail and perhaps another person...)

2.      Is the AMQP version negociation allowed by JMS and not by QPID?

AMQP defines a simple version check that can be used to ensure the client and server are agreed on the version to be used. It may well be that there are some bugs around that but expected behaviour is that you can point the Qpid JMS client at an AMQP broker and it will negotiate which of the supported versions it will use.

Hope this helps, if not please keep asking questions! Thanks for your interest!

--Gordon.

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to