In my quest for scaling up my java-based server I ran into the open source Quickserver framework (http://www.quickserver.org).
QuickServer is an open source Java library/framework for quick creation of robust multi-client TCP server applications. Basically the framework takes care of the multiple socket connections/threads (pooling) while one can just focus on the application logic.
Recently the java nio stuff has been included with support for non-blocking io i.e. multiple clients per thread instead of 1 thread per client (which is also still possible with the framework) which provides a high level of scaling.
Maybe the quickserver framework could be used for upscaling jive messenger.