You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by Chris Howard <ch...@facilita.co.uk> on 2010/07/20 10:03:45 UTC
C++ client crashes if it is unable to connect to the broker
Hi,
I have a very simple C++ program that attempts to connect to a broker
running on localhost:
#include "qpid/messaging/Connection.h"
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
try
{
qpid::messaging::Connection connection =
qpid::messaging::Connection::open("amqp:tcp:localhost:5672");
connection.close();
}
catch (qpid::Exception& e)
{
cout << e.what() << endl;
}
}
However, if the broker is not running, then the program crashes during
the call to Connection::open, rather than throwing a ConnectionException.
I see the following output:
2010-07-20 08:45:46 warning Connecting failed: No connection could be
made because the target machine actively refused it. :
(..\..\..\..\cpp\src\qpid\sys\windows\Socket.cpp:219)
2010-07-20 08:45:46 warning Connection closed
Press any key to continue . . .
I also see similar behaviour (in a more complicated program) if the
broker is closed while a session is in progress.
I am using qpid 0.6 and I am running on Windows Vista. Am I doing
something wrong?
Regards,
Chris
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
Re: C++ client crashes if it is unable to connect to the broker
Posted by Chris Howard <ch...@facilita.co.uk>.
I get exactly the same problem when running both the messaging_client
and the direct_declare_queues examples.
I will have a go at running against the trunk
On 20/07/2010 12:06, Gordon Sim wrote:
> On 07/20/2010 11:28 AM, Chris Howard wrote:
>> Thanks for the suggestion, but I'm afraid it doesn't make any difference
>> - I still get a crash.
>
> Sorry, I was somewhat clutching at straws there I guess. The program
> works fine for me in those circumstances when compiled on linux
> against the 0.6 release. I'm not as familiar with the windows side yet.
>
> Have you tried running some of the examples to see if they exhibit the
> same problem? (I'm assuming those in the messaging directory will as
> they are of very similar patterns to this, but what about e.g.
> direct/declare_queues.cpp?).
>
> Is it possible to try against the trunk?
>
> There has been a change in windows::AsynchIOConnector's constructor
> where on failing to connect the socket is no longer deleted[1] for
> example which might conceivably cause problems here.
>
> [1] http://svn.apache.org/viewvc?view=revision&revision=902318
>
>> I added the following lines to the end of the existing program:
>>
>> catch (std::exception& e)
>> {
>> cout << e.what() << endl;
>> }
>> catch (...)
>> {
>> cout << "unknown error" << endl;
>> }
>>
>> Neither of the catch blocks were hit. When I run the program under the
>> debugger, the stack appears to have been corrupted:
>>
>> > msvcr90d.dll!61e937f8()
>> [Frames below may be incorrect and/or missing, no symbols loaded for
>> msvcr90d.dll]
>> msvcr90d.dll!61e70b4b()
>> msvcr90d.dll!61e72327()
>> msvcr90d.dll!61e7223c()
>> msvcr90d.dll!61e71b0a()
>> msvcr90d.dll!61dfe2b2()
>> ntdll.dll!76f55f79()
>> ntdll.dll!76f55f4b()
>> ntdll.dll!76f29812()
>> ntdll.dll!76f55dd7()
>> kernel32.dll!7597fbae()
>> kernel32.dll!7597fbae()
>> kernel32.dll!7597fbae()
>> msvcr90d.dll!61e6fee2()
>> qpidclientd.dll!boost::function1<void,qpid::sys::Socket const
>> &>::function1<void,qpid::sys::Socket const
>> &><boost::_bi::bind_t<void,boost::_mfi::mf1<void,qpid::client::TCPConnector,qpid::sys::Socket
>>
>> const &>,boost::_bi::list2<boost::_bi::value<qpid::client::TCPConnector
>> *>,boost::arg<1> > >
>> >(boost::_bi::bind_t<void,boost::_mfi::mf1<void,qpid::client::TCPConnector,qpid::sys::Socket
>> const
>> &>,boost::_bi::list2<boost::_bi::value<qpid::client::TCPConnector
>> *>,boost::arg<1> > > f={...}, int __formal=3338964) Line 723 + 0xd
>> bytes C++
>> qpidclientd.dll!boost::detail::shared_count::~shared_count() Line 221
>> C++
>> 0060f034()
>>
>>
>>
>> On 20/07/2010 11:09, Gordon Sim wrote:
>>> On 07/20/2010 09:03 AM, Chris Howard wrote:
>>>> Hi,
>>>>
>>>> I have a very simple C++ program that attempts to connect to a broker
>>>> running on localhost:
>>>>
>>>> #include "qpid/messaging/Connection.h"
>>>> #include <iostream>
>>>>
>>>> using namespace std;
>>>>
>>>> int main(int argc, char* argv[])
>>>> {
>>>> try
>>>> {
>>>> qpid::messaging::Connection connection =
>>>> qpid::messaging::Connection::open("amqp:tcp:localhost:5672");
>>>> connection.close();
>>>> }
>>>> catch (qpid::Exception& e)
>>>> {
>>>> cout << e.what() << endl;
>>>> }
>>>> }
>>>
>>> Try catching std::exception. The exception handling has been cleaned
>>> up a lot since the 0.6 release (and now the API should only throw
>>> subclasses of qpid::types::Exception).
>>>
>>>> However, if the broker is not running, then the program crashes during
>>>> the call to Connection::open, rather than throwing a
>>>> ConnectionException.
>>>>
>>>> I see the following output:
>>>>
>>>> 2010-07-20 08:45:46 warning Connecting failed: No connection could be
>>>> made because the target machine actively refused it. :
>>>> (..\..\..\..\cpp\src\qpid\sys\windows\Socket.cpp:219)
>>>> 2010-07-20 08:45:46 warning Connection closed
>>>> Press any key to continue . . .
>>>>
>>>> I also see similar behaviour (in a more complicated program) if the
>>>> broker is closed while a session is in progress.
>>>> I am using qpid 0.6 and I am running on Windows Vista. Am I doing
>>>> something wrong?
>>>
>>> ---------------------------------------------------------------------
>>> 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
>>
>
>
> ---------------------------------------------------------------------
> 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: C++ client crashes if it is unable to connect to the broker
Posted by Gordon Sim <gs...@redhat.com>.
On 07/20/2010 11:28 AM, Chris Howard wrote:
> Thanks for the suggestion, but I'm afraid it doesn't make any difference
> - I still get a crash.
Sorry, I was somewhat clutching at straws there I guess. The program
works fine for me in those circumstances when compiled on linux against
the 0.6 release. I'm not as familiar with the windows side yet.
Have you tried running some of the examples to see if they exhibit the
same problem? (I'm assuming those in the messaging directory will as
they are of very similar patterns to this, but what about e.g.
direct/declare_queues.cpp?).
Is it possible to try against the trunk?
There has been a change in windows::AsynchIOConnector's constructor
where on failing to connect the socket is no longer deleted[1] for
example which might conceivably cause problems here.
[1] http://svn.apache.org/viewvc?view=revision&revision=902318
> I added the following lines to the end of the existing program:
>
> catch (std::exception& e)
> {
> cout << e.what() << endl;
> }
> catch (...)
> {
> cout << "unknown error" << endl;
> }
>
> Neither of the catch blocks were hit. When I run the program under the
> debugger, the stack appears to have been corrupted:
>
> > msvcr90d.dll!61e937f8()
> [Frames below may be incorrect and/or missing, no symbols loaded for
> msvcr90d.dll]
> msvcr90d.dll!61e70b4b()
> msvcr90d.dll!61e72327()
> msvcr90d.dll!61e7223c()
> msvcr90d.dll!61e71b0a()
> msvcr90d.dll!61dfe2b2()
> ntdll.dll!76f55f79()
> ntdll.dll!76f55f4b()
> ntdll.dll!76f29812()
> ntdll.dll!76f55dd7()
> kernel32.dll!7597fbae()
> kernel32.dll!7597fbae()
> kernel32.dll!7597fbae()
> msvcr90d.dll!61e6fee2()
> qpidclientd.dll!boost::function1<void,qpid::sys::Socket const
> &>::function1<void,qpid::sys::Socket const
> &><boost::_bi::bind_t<void,boost::_mfi::mf1<void,qpid::client::TCPConnector,qpid::sys::Socket
> const &>,boost::_bi::list2<boost::_bi::value<qpid::client::TCPConnector
> *>,boost::arg<1> > >
> >(boost::_bi::bind_t<void,boost::_mfi::mf1<void,qpid::client::TCPConnector,qpid::sys::Socket const &>,boost::_bi::list2<boost::_bi::value<qpid::client::TCPConnector *>,boost::arg<1> > > f={...}, int __formal=3338964) Line 723 + 0xd bytes C++
> qpidclientd.dll!boost::detail::shared_count::~shared_count() Line 221 C++
> 0060f034()
>
>
>
> On 20/07/2010 11:09, Gordon Sim wrote:
>> On 07/20/2010 09:03 AM, Chris Howard wrote:
>>> Hi,
>>>
>>> I have a very simple C++ program that attempts to connect to a broker
>>> running on localhost:
>>>
>>> #include "qpid/messaging/Connection.h"
>>> #include <iostream>
>>>
>>> using namespace std;
>>>
>>> int main(int argc, char* argv[])
>>> {
>>> try
>>> {
>>> qpid::messaging::Connection connection =
>>> qpid::messaging::Connection::open("amqp:tcp:localhost:5672");
>>> connection.close();
>>> }
>>> catch (qpid::Exception& e)
>>> {
>>> cout << e.what() << endl;
>>> }
>>> }
>>
>> Try catching std::exception. The exception handling has been cleaned
>> up a lot since the 0.6 release (and now the API should only throw
>> subclasses of qpid::types::Exception).
>>
>>> However, if the broker is not running, then the program crashes during
>>> the call to Connection::open, rather than throwing a
>>> ConnectionException.
>>>
>>> I see the following output:
>>>
>>> 2010-07-20 08:45:46 warning Connecting failed: No connection could be
>>> made because the target machine actively refused it. :
>>> (..\..\..\..\cpp\src\qpid\sys\windows\Socket.cpp:219)
>>> 2010-07-20 08:45:46 warning Connection closed
>>> Press any key to continue . . .
>>>
>>> I also see similar behaviour (in a more complicated program) if the
>>> broker is closed while a session is in progress.
>>> I am using qpid 0.6 and I am running on Windows Vista. Am I doing
>>> something wrong?
>>
>> ---------------------------------------------------------------------
>> 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
>
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
Re: C++ client crashes if it is unable to connect to the broker
Posted by Chris Howard <ch...@facilita.co.uk>.
Thanks for the suggestion, but I'm afraid it doesn't make any
difference - I still get a crash.
I added the following lines to the end of the existing program:
catch (std::exception& e)
{
cout << e.what() << endl;
}
catch (...)
{
cout << "unknown error" << endl;
}
Neither of the catch blocks were hit. When I run the program under the
debugger, the stack appears to have been corrupted:
> msvcr90d.dll!61e937f8()
[Frames below may be incorrect and/or missing, no symbols loaded
for msvcr90d.dll]
msvcr90d.dll!61e70b4b()
msvcr90d.dll!61e72327()
msvcr90d.dll!61e7223c()
msvcr90d.dll!61e71b0a()
msvcr90d.dll!61dfe2b2()
ntdll.dll!76f55f79()
ntdll.dll!76f55f4b()
ntdll.dll!76f29812()
ntdll.dll!76f55dd7()
kernel32.dll!7597fbae()
kernel32.dll!7597fbae()
kernel32.dll!7597fbae()
msvcr90d.dll!61e6fee2()
qpidclientd.dll!boost::function1<void,qpid::sys::Socket const
&>::function1<void,qpid::sys::Socket const
&><boost::_bi::bind_t<void,boost::_mfi::mf1<void,qpid::client::TCPConnector,qpid::sys::Socket
const &>,boost::_bi::list2<boost::_bi::value<qpid::client::TCPConnector
*>,boost::arg<1> > >
>(boost::_bi::bind_t<void,boost::_mfi::mf1<void,qpid::client::TCPConnector,qpid::sys::Socket const &>,boost::_bi::list2<boost::_bi::value<qpid::client::TCPConnector *>,boost::arg<1> > > f={...}, int __formal=3338964) Line 723 + 0xd bytes C++
qpidclientd.dll!boost::detail::shared_count::~shared_count() Line
221 C++
0060f034()
On 20/07/2010 11:09, Gordon Sim wrote:
> On 07/20/2010 09:03 AM, Chris Howard wrote:
>> Hi,
>>
>> I have a very simple C++ program that attempts to connect to a broker
>> running on localhost:
>>
>> #include "qpid/messaging/Connection.h"
>> #include <iostream>
>>
>> using namespace std;
>>
>> int main(int argc, char* argv[])
>> {
>> try
>> {
>> qpid::messaging::Connection connection =
>> qpid::messaging::Connection::open("amqp:tcp:localhost:5672");
>> connection.close();
>> }
>> catch (qpid::Exception& e)
>> {
>> cout << e.what() << endl;
>> }
>> }
>
> Try catching std::exception. The exception handling has been cleaned
> up a lot since the 0.6 release (and now the API should only throw
> subclasses of qpid::types::Exception).
>
>> However, if the broker is not running, then the program crashes during
>> the call to Connection::open, rather than throwing a
>> ConnectionException.
>>
>> I see the following output:
>>
>> 2010-07-20 08:45:46 warning Connecting failed: No connection could be
>> made because the target machine actively refused it. :
>> (..\..\..\..\cpp\src\qpid\sys\windows\Socket.cpp:219)
>> 2010-07-20 08:45:46 warning Connection closed
>> Press any key to continue . . .
>>
>> I also see similar behaviour (in a more complicated program) if the
>> broker is closed while a session is in progress.
>> I am using qpid 0.6 and I am running on Windows Vista. Am I doing
>> something wrong?
>
> ---------------------------------------------------------------------
> 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: C++ client crashes if it is unable to connect to the broker
Posted by Gordon Sim <gs...@redhat.com>.
On 07/20/2010 09:03 AM, Chris Howard wrote:
> Hi,
>
> I have a very simple C++ program that attempts to connect to a broker
> running on localhost:
>
> #include "qpid/messaging/Connection.h"
> #include <iostream>
>
> using namespace std;
>
> int main(int argc, char* argv[])
> {
> try
> {
> qpid::messaging::Connection connection =
> qpid::messaging::Connection::open("amqp:tcp:localhost:5672");
> connection.close();
> }
> catch (qpid::Exception& e)
> {
> cout << e.what() << endl;
> }
> }
Try catching std::exception. The exception handling has been cleaned up
a lot since the 0.6 release (and now the API should only throw
subclasses of qpid::types::Exception).
> However, if the broker is not running, then the program crashes during
> the call to Connection::open, rather than throwing a ConnectionException.
>
> I see the following output:
>
> 2010-07-20 08:45:46 warning Connecting failed: No connection could be
> made because the target machine actively refused it. :
> (..\..\..\..\cpp\src\qpid\sys\windows\Socket.cpp:219)
> 2010-07-20 08:45:46 warning Connection closed
> Press any key to continue . . .
>
> I also see similar behaviour (in a more complicated program) if the
> broker is closed while a session is in progress.
> I am using qpid 0.6 and I am running on Windows Vista. Am I doing
> something wrong?
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
Re: C++ client crashes if it is unable to connect to the broker
Posted by Chris Howard <ch...@facilita.co.uk>.
Great, that's just what I wanted to hear.
On 21/07/2010 14:28, Alan Conway wrote:
> On 07/21/2010 09:17 AM, Chris Howard wrote:
>> Thanks. I have managed to download and build the source now, and can
>> confirm that the problem is fixed.
>>
>> On a more general note, is it generally the case that the windows
>> version follows the linux version? i.e. is the development work first
>> carried out on linux and then ported to windows, and if so, are the
>> release dates for windows later than for linux? This bug alone is likely
>> to prevent me from using the 0.6 release. I know there is no release
>> date set for 0.8 but I'm just trying to establish if it is going to be
>> at all feasible for me to continue with qpid for my current project.
>>
>
> Most of the work is done in portable code, there's a clearly defined
> and fairly stable platform abstraction layer. Releases are
> simultaneous for windows and linux. Of course platform specific bugs
> may show up from time to time but in general there isn't a lag between
> the platforms.
>
>
> ---------------------------------------------------------------------
> 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: C++ client crashes if it is unable to connect to the broker
Posted by Alan Conway <ac...@redhat.com>.
On 07/21/2010 09:17 AM, Chris Howard wrote:
> Thanks. I have managed to download and build the source now, and can
> confirm that the problem is fixed.
>
> On a more general note, is it generally the case that the windows
> version follows the linux version? i.e. is the development work first
> carried out on linux and then ported to windows, and if so, are the
> release dates for windows later than for linux? This bug alone is likely
> to prevent me from using the 0.6 release. I know there is no release
> date set for 0.8 but I'm just trying to establish if it is going to be
> at all feasible for me to continue with qpid for my current project.
>
Most of the work is done in portable code, there's a clearly defined and fairly
stable platform abstraction layer. Releases are simultaneous for windows and
linux. Of course platform specific bugs may show up from time to time but in
general there isn't a lag between the platforms.
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
Re: C++ client crashes if it is unable to connect to the broker
Posted by Chris Howard <ch...@facilita.co.uk>.
Thanks. I have managed to download and build the source now, and can
confirm that the problem is fixed.
On a more general note, is it generally the case that the windows
version follows the linux version? i.e. is the development work first
carried out on linux and then ported to windows, and if so, are the
release dates for windows later than for linux? This bug alone is likely
to prevent me from using the 0.6 release. I know there is no release
date set for 0.8 but I'm just trying to establish if it is going to be
at all feasible for me to continue with qpid for my current project.
On 20/07/2010 12:47, Steve Huston wrote:
> Hi Chris,
>
> This is a known problem, fixed since 0.6. Please see:
> https://issues.apache.org/jira/browse/QPID-2558
>
> If you can possibly use the current development sources, the problem is
> fixed there.
>
> Best regards,
> -Steve
>
> --
> Steve Huston, Riverace Corporation
> Total Lifecycle Support for Your Networked Applications
> http://www.riverace.com
>
>
>> -----Original Message-----
>> From: Chris Howard [mailto:chris.howard@facilita.co.uk]
>> Sent: Tuesday, July 20, 2010 4:04 AM
>> To: users@qpid.apache.org
>> Subject: C++ client crashes if it is unable to connect to the broker
>>
>>
>> Hi,
>>
>> I have a very simple C++ program that attempts to connect to a broker
>> running on localhost:
>>
>> #include "qpid/messaging/Connection.h"
>> #include<iostream>
>>
>> using namespace std;
>>
>> int main(int argc, char* argv[])
>> {
>> try
>> {
>> qpid::messaging::Connection connection =
>> qpid::messaging::Connection::open("amqp:tcp:localhost:5672");
>> connection.close();
>> }
>> catch (qpid::Exception& e)
>> {
>> cout<< e.what()<< endl;
>> }
>> }
>>
>> However, if the broker is not running, then the program
>> crashes during
>> the call to Connection::open, rather than throwing a
>> ConnectionException.
>>
>> I see the following output:
>>
>> 2010-07-20 08:45:46 warning Connecting failed: No connection could be
>> made because the target machine actively refused it. :
>> (..\..\..\..\cpp\src\qpid\sys\windows\Socket.cpp:219)
>> 2010-07-20 08:45:46 warning Connection closed
>> Press any key to continue . . .
>>
>> I also see similar behaviour (in a more complicated program) if the
>> broker is closed while a session is in progress.
>> I am using qpid 0.6 and I am running on Windows Vista. Am I doing
>> something wrong?
>>
>> Regards,
>> Chris
>>
>>
>> ---------------------------------------------------------------------
>> 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
>
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org
RE: C++ client crashes if it is unable to connect to the broker
Posted by Steve Huston <sh...@riverace.com>.
Hi Chris,
This is a known problem, fixed since 0.6. Please see:
https://issues.apache.org/jira/browse/QPID-2558
If you can possibly use the current development sources, the problem is
fixed there.
Best regards,
-Steve
--
Steve Huston, Riverace Corporation
Total Lifecycle Support for Your Networked Applications
http://www.riverace.com
> -----Original Message-----
> From: Chris Howard [mailto:chris.howard@facilita.co.uk]
> Sent: Tuesday, July 20, 2010 4:04 AM
> To: users@qpid.apache.org
> Subject: C++ client crashes if it is unable to connect to the broker
>
>
> Hi,
>
> I have a very simple C++ program that attempts to connect to a broker
> running on localhost:
>
> #include "qpid/messaging/Connection.h"
> #include <iostream>
>
> using namespace std;
>
> int main(int argc, char* argv[])
> {
> try
> {
> qpid::messaging::Connection connection =
> qpid::messaging::Connection::open("amqp:tcp:localhost:5672");
> connection.close();
> }
> catch (qpid::Exception& e)
> {
> cout << e.what() << endl;
> }
> }
>
> However, if the broker is not running, then the program
> crashes during
> the call to Connection::open, rather than throwing a
> ConnectionException.
>
> I see the following output:
>
> 2010-07-20 08:45:46 warning Connecting failed: No connection could be
> made because the target machine actively refused it. :
> (..\..\..\..\cpp\src\qpid\sys\windows\Socket.cpp:219)
> 2010-07-20 08:45:46 warning Connection closed
> Press any key to continue . . .
>
> I also see similar behaviour (in a more complicated program) if the
> broker is closed while a session is in progress.
> I am using qpid 0.6 and I am running on Windows Vista. Am I doing
> something wrong?
>
> Regards,
> Chris
>
>
> ---------------------------------------------------------------------
> 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