qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Leglise Yann" <ylegl...@sopragroup.com>
Subject RE: Mixing up AMQP QPID and JMS
Date Wed, 19 Aug 2009 16:36:55 GMT
Hello once again :)

Here are some additional questions arisen from your answers.
1) As there are java example that does not make use of JMS objects, I suppose that QPID also
furnish another AMQP implementation that is independent from JMS?
2) If it is, are both implementations equivalent and compliant with AMQP the same way? I am
asking because using JMS, when you create a Consumer on a queue that is not declared as an
administered object, this queue is created in the broker. I believe this a a normal JMS behaviour,
but I have read somewhere that in AMQP, queues must be explicitly declared, what I understood
by "if queues are not explicitly declared, they cannot be used".

Thank you.

Best regards
-----Message d'origine-----
De : Gordon Sim [mailto:gsim@redhat.com] 
Envoyé : mercredi 19 août 2009 17:22
À : users@qpid.apache.org
Objet : Re: Mixing up AMQP QPID and JMS

Leglise Yann wrote:
> Thank you Gordon.
> Your answers helped, but I want to make it a little bit clearer about the relation between
> 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-subscribe@qpid.apache.org

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

View raw message