Leglise Yann wrote:
Thank you Gordon.

Your answers helped, but I want to make it a little bit clearer about the 
relation between QPID and JMS.
I can only see 2 possible interpretation of the relation between JMS and QPID 
(one will necessarily be wrong):
1)  QPID relies on (i.e. make use of) a JMS implementation in order to use the 
JMS services to satisfy the AMQP purposes,
2)  QPID actually IS a JMS implementation that directly includes the AMQP 
required behaviour.

Option 2 is the correct one.

This is confusing for me since in my java program, I am linked to a jms.jar 
(gotten from the J2EE SDK), in association with the qpid jars, and I suppose 
this jms.jar contains a JMS implementation (leading to the first 
interpretation).

So in the case 1), I cannot understand how a JMS object (that does not "know" I 
am using a QPID jar) can interact with an AMQP broker (I mean, when I invoke a send API 
on a javax.jms.MessageProducer, how is it that Wireshark detects AMQP frames? The meaning 
of my question in my previous mail was to understand how could the JMS objects (defined, 
according to me, in the jms.jar) could interact with the QPID jars (I supposed that the 
AMQP frames are sent by some classes of the QPID jars) since nothing is (apparently) made 
to link JMS object with QPID classes).

In case 2), why should I need using the jms.jar if the implementation already 
exists in the QPID jars?

The only explanation I can imagine is that the jms.jar is used only for the interfaces 
like Connection, Session etc. some implementors of which resides in QPID library that are 
used because using org.apache.qpid.jndi.PropertiesFileInitialContextFactory in JNDI. 
Then, as every used object (ConnectionFactory, Destination ...) are obtained through a 
first QPID class implementing the InitialContext, this implementing class also choose a 
QPID class implementing those interfaces (and so on for Connection, Queue ...). This is 
what I guess, but I would like to have a confirmation from someone who "knows".

Yes, assuming you mean the geronimo-jms_1.1_spec-1.0.jar, that is correct. It contains only the interface definitions.

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscr...@qpid.apache.org

Reply via email to