Thanks very much for this detailed description! Do you by accidentally know when the qpid component was added ?
2010/5/17 Jean-Sebastien Delfino <jsdelf...@apache.org> > Mario Grotschar wrote: > >> I have noticed that in the git trunk of tuscany the message queue Apache >> Qpid 0.6 is already integrated as a component. >> > > Yes, the Tuscany C++ runtime provides a Queue component implemented using > Qpid/C 0.6. It's just one of several utility components provided in > tuscany/sca-cpp/trunk/components [1] to help the construction of SCA > composite apps. > > Here's the list of components currently available there: > > Cache: Key/value memory cache, using Memcached; > Chat: XMPP chat, using Apache Vysper and Libstrophe; > Queue: AMQP queuing, using Apache Qpid/C; > Sqldb: SQL database, using PostgreSQL; > Store: Key/value persistent store, using TinyCDB; > Webservice: Web service gateway, using Apache Axis2/C; > Log: distributed logger, using Facebook Scribe (not working yet). > > Most components present a simple ATOMPub REST interface. For example you > can send a message to a queue, a chat connection, or add an entry to a cache > or a database using a simple HTTP POST. > > > >> My questions are: >> >> >> 1.) Is it identical to the Qpid 0.6 from the apache qpid project? >> > > Yes, details and build instructions can be found in the INSTALL doc [2]. > > > >> 2.) Is there any limitation to its functionality, when using it as a >> component? >> >> > Let me describe how that queue component currently works. There's actually > two components. > > A) A queue-sender component, responsible for sending messages to Qpid > queues. > > You can configure it like this: > <component name="example-sender"> > <implementation.cpp path=".libs" library="libqueue-sender"/> > <property name="key">example-amqp-key</property> > <service name="sender"> > <t:binding.http uri="example/sender"/> > </service> > </component> > > Then, to send an AMQP message with key "example-amqp-key", just send an > HTTP POST with the contents of your message (in XML or JSON) to the > component's URI http://yourhost/example/sender. > > B) A queue-listener component, responsible for listening to a Qpid queue > and relaying received messages to an application component wired to it. > > Here's an example configuration: > <component name="example-listener"> > <implementation.cpp path=".libs" library="libqueue-listener"/> > <property name="key">example-amqp-key</property> > <property name="queue">example-amqp-queue</property> > <reference name="relay" target="my-app-component"/> > </component> > > <component name="my-app-component"> > ... > </component> > > Here all messages received on example-amqp-queue will be relayed to > component my-app-component, using an HTTP POST as well. > > A complete example is available there [3]. > > In summary, these two components allow you to flow messages through Qpid > AMQP queues with simple HTTP POSTs. They don't do much -- to try to answer > your question about limitations -- but I've used them for a while now and > they've been working pretty well for me. > > Hope this helps. > > [1] http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/components/ > [2] http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/INSTALL > [3] > http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/components/queue/queue.composite > -- > Jean-Sebastien > -- Mit freundlichen Grüßen, Mario Grotschar mario.grotsc...@gmail.com