You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by wdrozd <wd...@i-a-i.com> on 2010/10/01 15:08:12 UTC

QPID JMS Architecture?

I don't understand what the relationship between the QPID architecture and
JMS is. I am specifically interested in AMQP messaging. Is it just that the
broker processes JMS message types instead of some other type, and this
broker follows the AMQP specification? 

Also, what is the clientid field in the connection used for from an AMQP
perspective? It seems that this is used to "redeliver" messages in JMS. So,
if an AMQP client is disconnected, and some messages get sent to a topic it
is subscribing to, will the Broker send the missed messages to the AMQP
client when it reconnects? Or is the client id used for something else?

Any help is greatly appreciated,
Bill
-- 
View this message in context: http://apache-qpid-users.2158936.n2.nabble.com/QPID-JMS-Architecture-tp5591276p5591276.html
Sent from the Apache Qpid users mailing list archive at Nabble.com.

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


Re: QPID JMS Architecture?

Posted by Rajith Attapattu <ra...@gmail.com>.
On Fri, Oct 1, 2010 at 9:08 AM, wdrozd <wd...@i-a-i.com> wrote:
>
> I don't understand what the relationship between the QPID architecture and
> JMS is. I am specifically interested in AMQP messaging. Is it just that the
> broker processes JMS message types instead of some other type, and this
> broker follows the AMQP specification?

In summary, JMS is just a messaging API.
AMQP is a messaging protocol that defines a wire format and semantic
model on how to interpret it.
Qpid implements various versions of the AMQP protocol (namely 0-8,0-9
and 0-10 and obviously 1.0 in the future).

However a general users is only interested in messaging features and
not necessarily the nitty gritty details of the underlying protocol.
For this reason all Qpid clients use a high level API which maps to
the AMQP protocol underneath.

For c++, Python and the .NET client there is a Qpid specific API.
See http://qpid.apache.org/books/0.7/Programming-In-Apache-Qpid/html/ch02.html

For Java we use the established JMS API.

Using configuration and address strings, the end user gets to
manipulate certain features of the protocol.
Please read the following doc to get a complete understanding of how
it all fits together.
http://qpid.apache.org/books/0.7/Programming-In-Apache-Qpid/html/index.html

If you have any further questions please feel free to ask.

Regards,

Rajith

> Also, what is the clientid field in the connection used for from an AMQP
> perspective? It seems that this is used to "redeliver" messages in JMS. So,
> if an AMQP client is disconnected, and some messages get sent to a topic it
> is subscribing to, will the Broker send the missed messages to the AMQP
> client when it reconnects? Or is the client id used for something else?
>
> Any help is greatly appreciated,
> Bill
> --
> View this message in context: http://apache-qpid-users.2158936.n2.nabble.com/QPID-JMS-Architecture-tp5591276p5591276.html
> Sent from the Apache Qpid users mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:users-subscribe@qpid.apache.org
>
>



-- 
Regards,

Rajith Attapattu
Red Hat
http://rajith.2rlabs.com/

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