powered by Jive Software

Poll: Support for jdk1.3

Hi all,

I’‘m planning future Messenger release features with scalability a focus. One of the major blockers for high scalability (esp. on Un*x OS’'s) is the use of JDK1.3 compatible blocking i/o and associated massive multithreading.

If we require JDK1.4 we can use nio to greatly improve scalability on Un*x servers (particularly Solaris). Note: I hope to have the admin UI hosted in the embedded webserver as it is now, or to be able to remotely host it in any appserver for those that wish to host the admin UI in older app server (that requires JDK 1.3.x).

So the question:

Would you be able to use Messenger if it requires JDK1.4.2+ running as a standalone application (standalone server mode)?


Would you be able to use Messenger if it requires

JDK1.4.2+ running as a standalone application

(standalone server mode)?

Is 1.4.2 really needed or could you make 1.4.1 work? The reason I ask is that my boss has gotten real excited about OSX which currently only has the 1.4.1 JVM avaialbe for it. Jive Messenger seems like a good application to try out on our future Apple Xserve, which we’‘ll get as soon as they start shipping them with G5’'s.


1.4.1 should work (there are no API differences we would use), although 1.4.2 is highly recommended. The Sun 1.4.1 JVMs contained a lot of bugs in the networking code related to nio that made it pretty much useless. I don’‘t know if Apple’‘s JVM contains the same bugs (I would suspect so since they use the Sun source as a base for their implementation but they could have fixed the networking code). I currently use a Mac so could test if we do go with an nio based solution. I’'m hoping that Apple will sync up with 1.5 when it is released this fall/winter.

In fact, we may leapfrog and require 1.5 because the one major drawback to 1.4’‘s nio is you can’'t easily support SSL over nio. jdk 1.5 will contain a generic SSLEngine class that allows you to turn any stream into an SSL stream, thus allowing us to use SSL with nio streams.

I watched the Apple 1.4.1 effort closely (being a Mac user) and it was pretty painfully slow. However, they claim that a lot of the work was in creating a patch so that new versions of the jvm can be quickly ported. Being that they haven’‘t ported 1.4.2 over I don’‘t know what the truth really is. Maybe too busy with Panther? I’‘m hoping that means 1.5 will be out on Apple quickly. In any case, since I work on OSX, it’'s definitely one of the platforms I want to support. So whatever is available on OSX will probably be the absolute minimum requirement (currently 1.4.1). Perhaps 1.4.1 supported unless you want SSL in which case you need 1.5. That seems reasonable to me since big open servers may not want SSL, and if you are stuck on 1.4.1 and want SSL you can always use an SSL accelerator box to convert the SSL streams to plain streams to the server itself. Would something like that be reasonable?

(I too am waiting anxiously to see the G5 xserve. It’'s on my radar!)