BTW - I forgot to mention, activemq-cpp requires that you use the 4.0.1 broker or later. A couple of additional headers were added to perform request/response for the connect/connected command exchange.
> -----Original Message----- > From: Mittler, Nathan [mailto:[EMAIL PROTECTED] > Sent: Monday, July 03, 2006 8:26 AM > To: activemq-dev@geronimo.apache.org; > activemq-users@geronimo.apache.org > Subject: New c++ client for stomp > > I have just submitted a new C++ stomp client to the activemq > SVN at > https://svn.apache.org/repos/asf/incubator/activemq/trunk/acti > vemq-cpp/ > > This serves as a full blown replacement for CMS, which didn't > fully implementation of the protocol. > > Some of the features this includes are: > 1) stomp protocol (requies AMQ 4.0.1 or later for the added > request/response ids) > 2) JMS 1.1-like API - consumers, producers, etc. - closely > follows what was done in the .NET client. > 3) support for topics and queues (so far as they are > supported by stomp). > 4) A pluggable architecture - facilitates having swappable > protocols (can use openwire or stomp without changing code) > 5) meta-url syntax similar to the other libraries to support > passing in options on the url string. > 6) complete suite of cpp-unit tests > 7) integration-level tests (requires a broker) > 8) Maven 2 build (uses Mojo native plugin) > 9) Support for selectors > 10) Support for durable subscriptions > 11) Support for transactions > > *****BUILDING****** > > So far, we've only built on linux and windows - so feedback > would be much appreciated from you Mac and Solaris users :) > > We have a couple ways of building: Maven 2 and makefiles. > See the readme.txt at the root for details. > > The Maven build uses the Mojo Native Plugin, which has some > limitations that we'll eventually need to get past. For one, > there seems to be linking issues on Solaris, because it's > passing in a -o option to AR, which causes heartburn. Other > than that, we've had Maven sucessfully building on linux/gcc > and windows/msvc-2005. > > *****EXAMPLES***** > The usage is pretty similar to CMS. Check out the > integration tests (essentially unit tests that require an > activemq broker running) at > https://svn.apache.org/repos/asf/incubator/activemq/trunk/acti > vemq-cpp/s > rc/test-integration/ for examples of how to get up and > running with activemq-cpp. > > ****TODO***** > 1) Merge in the openwire-cpp client as a connector in activemq-cpp. > User's will be able to choose which connector they use in the > URI syntax (similar to the way transports are configured in ActiveMQ). > 2) Eliminate the makefiles and have everything building through Maven > 3) Complete the Logging API > 4) Add "how to" docs on the wiki > 5) investigate the 999 (1000) messages bug with transactions > - seems to be at the broker (not sure) > 6) investigate why durable subscriptions aren't working > 7) test with Hiram's latest stomp transport changes. > > ****KNOWN ISSUES***** > 1) Durable subscriptions don't seem to be working. The > documentation reads that they are on by default, but > reconnecting a client with the same client id doesn't seem to > do the trick. > 2) After committing a transaction, the consumer seems to stop > getting messages after around 999/1000 messages. We think > this is a bug at the broker, but more investigation is needed. > 3) The Maven build doesn't work on Solaris - a "-o" is being > passed into the archiver, which is unsupported. > > > For all the tasks that CMS did, activemq-cpp should do just > as well and is much better tested, so I would encourage those > using CMS to make the switch. > > The next big step is to merge in the openwire-cpp code so > that activemq-cpp is a one-stop-shop for all ActiveMQ > protocols from C++. > > BTW - many thanks to Tim Bish for cranking out a lot of the code! > > Regards, > Nate > > > >