activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mittler, Nathan" <nathan.mitt...@sensis.com>
Subject RE: New c++ client for stomp
Date Mon, 03 Jul 2006 13:07:03 GMT
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:nathan.mittler@sensis.com] 
> 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
>  
>  
>  
> 

Mime
View raw message