|
Wednesday, November 9, 2005 |
I missed it off my previous post, but some interesting things are taking place in Jetty and ActiveMQ to provide a great combination of an Ajax and enteprise messaging solution.
We've had Ajax support in ActiveMQ for about a year now which works well. Though the downside was we'd use up quite a few threads both in the JMS side of things and in the Servlet engine (with lots of threads in the servlet engine blocking, waiting for a message to arrive before timing out).
Firstly on the JMS side of things; we've optimised things to use configurable thread pools rather than creating a thread per client/connection/session so we can control the threads created.
Plus to improve the use of Ajax with ActiveMQ we've added an extension to the JMS client allowing you to work in synchronous mode; pulling messages from the consumer when you are ready to dispatch to a client - but getting an asynchronous notification when there is a message available to be consumed. Basically we've provided an extended MessageConsumer, a MessageAvailableConsumer which allows you to specify a MessageAvailableListener to be notified when there is a mesage avalable to to be consumed using the usual consumer.recieve*() methods in synchronous mode.
Then on the Jetty side, Greg's been doing some great work on making Jetty asynchronous with NIO and supporting kinda servlet-continuations. (Not strict continuations, just a way to suspend the execution of a servlet then resume it again later on - its up to do the servlet to do a real continuation into sub-method invocations and the like if needed).
The combination of Jetty on the Ajax/HTTP end and in the same JVM, ActiveMQ on the back end to provide connectivity (JMS, OpenWire, Stomp, WS-Notification, JBI etc) together with networks, clustering, failover and so forth provides an excellent Ajax based event based architecture.
12:27:48 PM
|
|
Crikey its been months since I last blogged. Am just so busy these days but I'll try harder to blog.
Spotted the demos of mylar yesterday which look very cool. As someone who works on lots of projects and lots of code all the time; anything to help navigate across different areas easily gets my vote. I particularly like mylars colour highlighting for different tasks etc.
We've just got ServiceMix 2.0 out of the door which was lots of work; ActiveMQ 4.0-M1 is out, M2 is just around the corner; both are starting to really rock. I'm really loving the Message Groups feature in ActiveMQ which works great in ActiveMQ and ServiceMix for load balancing of requests across a cluster while maintaining order across transactions (e.g. not wanting to get the order or messages wrong; such as processing an update of something before the first version etc) while working great as a sticky load balancer / caching layer for services. More on Message Groups another day...
I'm also really loving XBean for its custom XML which both projects have migrated to as has Jencks; its the thing I've wanted for some time; a simple easy way to add simple configuration to projects/libraries/utilities while keeping the power of Spring when you want it or just using XSD based XML when you don't.
Anyway more later, now I've finally remembered blogging again :)
Update: I forgot to talk about Ajax news so figured it warrented its own post :)
11:13:29 AM
|
|
I found I was getting some 'update_sharing' warnings after an OS X update with Java 5.
Thanks to this note from Sébastien I just typed this...
sudo ln -s /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/ /System/Library/Frameworks/JavaVM.framework/Versions/1.5 and it went way. Phew
11:00:55 AM
|
|
© Copyright 2007 James Strachan.
|
|
|
|
|
|
November 2005 |
Sun |
Mon |
Tue |
Wed |
Thu |
Fri |
Sat |
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
|
|
|
Aug Dec |
|
|
|
|
|
|