[rabbitmq-discuss] Java Client Changes

Rob Harrop rob at rabbitmq.com
Tue Oct 12 14:39:27 BST 2010


We're almost locked down on our proposed changes to the threading in the Java Client. Before we merge these changes into default I'd love to get some more testing from the community to make sure the new behaviour does what we need it to do and doesn't cause problems that we haven't found in testing.

Summary of changes:

* Dispatch to consumers now happens on a separate thread from the Connection thread
* Each Channel has its own dispatch thread
* Consumers can now call back into Channel without worrying about deadlocking
* Consumers on one Channel don't stall Consumers on another Channel
* Channels are safe for use from multiple threads (not suitable for heavy concurrent usage though)
* QueueingConsumer is now deprecated in favour of implementing Consumer directly or extending DefaultConsumer

You can get and build the client with:

hg clone http://hg.rabbitmq.com/rabbitmq-java-client/
cd rabbitmq-java-client
hg up bug18384
ant dist

You'll find rabbitmq-client.jar in bulid/dist.

Please try the new client out and let me know if you have any suggestions/problems.



More information about the rabbitmq-discuss mailing list