You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by Drew Vogel <dr...@gmail.com> on 2010/11/03 17:09:26 UTC

Why use the C++ broker versus the Java broker?

Hi. I'm new to Qpid (and AMQP in general). I'm having a bit of trouble
determining which broker to use. The compatibility page[1] says:

        There are two brokers:

        C++ with support for AMQP 0-10
        Java with support for AMQP 0-8, 0-9, and 0-10.

The C++ broker supports only a subset of what the Java broker does, so
is there any reason (other than the never-ending performance
comparisons between Java and native languages) to use the C++ broker?
Is the Java broker being replaced by the C++ broker? Is the C++ broker
intended mainly for platforms without a reliable Java run-time? The
permissions structure seems to differ between the two brokers, with
the C++ broker relying on a newer ACL system, but I haven't used it
yet, so I'm relying on the (somewhat sparse) documentation. I've tried
to search the list archives for answers to these questions but the
only info I found referred to version 0.6, so I'm not sure that the
info is still current.

Will someone explain this to me? Is this something that should be in
the FAQ or am I just missing something obvious?

[1] https://cwiki.apache.org/qpid/amqp-compatibility.html

Drew Vogel

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


Re: Why use the C++ broker versus the Java broker?

Posted by Drew Vogel <dr...@gmail.com>.
Thanks for the explanation. I think I'll stick with the Java broker
for compatibility.



On Thu, Nov 4, 2010 at 8:23 AM, Gordon Sim <gs...@redhat.com> wrote:
> On 11/03/2010 04:09 PM, Drew Vogel wrote:
>>
>> Hi. I'm new to Qpid (and AMQP in general). I'm having a bit of trouble
>> determining which broker to use. The compatibility page[1] says:
>>
>>         There are two brokers:
>>
>>         C++ with support for AMQP 0-10
>>         Java with support for AMQP 0-8, 0-9, and 0-10.
>>
>> The C++ broker supports only a subset of what the Java broker does, so
>> is there any reason (other than the never-ending performance
>> comparisons between Java and native languages) to use the C++ broker?
>> Is the Java broker being replaced by the C++ broker?
>
> No
>
>> Is the C++ broker
>> intended mainly for platforms without a reliable Java run-time?
>
> Not really
>
>> The
>> permissions structure seems to differ between the two brokers, with
>> the C++ broker relying on a newer ACL system, but I haven't used it
>> yet, so I'm relying on the (somewhat sparse) documentation. I've tried
>> to search the list archives for answers to these questions but the
>> only info I found referred to version 0.6, so I'm not sure that the
>> info is still current.
>>
>> Will someone explain this to me? Is this something that should be in
>> the FAQ or am I just missing something obvious?
>
> I think its really a question of personal preference at this point in time
> (some people feel more comfortable with one broker, others with another).
> The java broker can run pretty much anywhere there is a jvm, the c++ broker
> is more restricted (at least at present). The c++ broker has support for
> some 'native' features (e.g. RDMA). As you point out the java broker also
> speaks all versions of AMQP to date (the only broker known to do so!).
>
> Ultimately I would hope the choice would not be too significant and
> switching between the two as needed would not cause much disruption to an
> application, at least at the semantic level. We are moving towards a more
> uniform feature set and a more uniform management schema, but are still some
> way of that.
>
> Thats just my 2cents...
>
> ---------------------------------------------------------------------
> 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


Re: Why use the C++ broker versus the Java broker?

Posted by Gordon Sim <gs...@redhat.com>.
On 11/03/2010 04:09 PM, Drew Vogel wrote:
> Hi. I'm new to Qpid (and AMQP in general). I'm having a bit of trouble
> determining which broker to use. The compatibility page[1] says:
>
>          There are two brokers:
>
>          C++ with support for AMQP 0-10
>          Java with support for AMQP 0-8, 0-9, and 0-10.
>
> The C++ broker supports only a subset of what the Java broker does, so
> is there any reason (other than the never-ending performance
> comparisons between Java and native languages) to use the C++ broker?
> Is the Java broker being replaced by the C++ broker?

No

> Is the C++ broker
> intended mainly for platforms without a reliable Java run-time?

Not really

> The
> permissions structure seems to differ between the two brokers, with
> the C++ broker relying on a newer ACL system, but I haven't used it
> yet, so I'm relying on the (somewhat sparse) documentation. I've tried
> to search the list archives for answers to these questions but the
> only info I found referred to version 0.6, so I'm not sure that the
> info is still current.
>
> Will someone explain this to me? Is this something that should be in
> the FAQ or am I just missing something obvious?

I think its really a question of personal preference at this point in 
time (some people feel more comfortable with one broker, others with 
another). The java broker can run pretty much anywhere there is a jvm, 
the c++ broker is more restricted (at least at present). The c++ broker 
has support for some 'native' features (e.g. RDMA). As you point out the 
java broker also speaks all versions of AMQP to date (the only broker 
known to do so!).

Ultimately I would hope the choice would not be too significant and 
switching between the two as needed would not cause much disruption to 
an application, at least at the semantic level. We are moving towards a 
more uniform feature set and a more uniform management schema, but are 
still some way of that.

Thats just my 2cents...

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


RE: Why use the C++ broker versus the Java broker?

Posted by Thomas Kirkham <Th...@nottingham.ac.uk>.
Hi Drew,

    I my experience as a beginner to qpid I spent allot of time with the Java broker versions 6 and 7. I was trying to get some publish and subscribe applications working with SSL. With help from this board I came to the conclusion that it was beyond my skills or not possible using the Java broker. So I used the C++ broker and got it working quickly using my java clients. 
    So, I think the C++ is better in this side of things and the documentation also seems to be a bit more complete for the C++ version.

Cheers,

Tom 

-----Original Message-----
From: Drew Vogel [mailto:drewpvogel@gmail.com] 
Sent: 03 November 2010 16:09
To: users@qpid.apache.org
Subject: Why use the C++ broker versus the Java broker?

Hi. I'm new to Qpid (and AMQP in general). I'm having a bit of trouble determining which broker to use. The compatibility page[1] says:

        There are two brokers:

        C++ with support for AMQP 0-10
        Java with support for AMQP 0-8, 0-9, and 0-10.

The C++ broker supports only a subset of what the Java broker does, so is there any reason (other than the never-ending performance comparisons between Java and native languages) to use the C++ broker?
Is the Java broker being replaced by the C++ broker? Is the C++ broker intended mainly for platforms without a reliable Java run-time? The permissions structure seems to differ between the two brokers, with the C++ broker relying on a newer ACL system, but I haven't used it yet, so I'm relying on the (somewhat sparse) documentation. I've tried to search the list archives for answers to these questions but the only info I found referred to version 0.6, so I'm not sure that the info is still current.

Will someone explain this to me? Is this something that should be in the FAQ or am I just missing something obvious?

[1] https://cwiki.apache.org/qpid/amqp-compatibility.html

Drew Vogel

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

This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.

This message has been checked for viruses but the contents of an attachment
may still contain software viruses which could damage your computer system:
you are advised to perform your own checks. Email communications with the
University of Nottingham may be monitored as permitted by UK legislation.
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org