IDependOn-Set: 1
IDependOn-Set: 119
IDependOn-Set: 151
IDependOn-Set: 159
IDependOn-Set: 161
IDependOn-Set: 2
LastModifiedSecs: 926622023
Parent: 119
SequenceNumber: 2
Title: TowerJ and Apache JServ
Part: 0
Author-Set: jon@working-dogs.com
HideAttributions: 1
LastModifiedSecs: 926622023
Type: monospaced
Lines: 49
----------
From: Hannes Wallnoefer <hannes@helma.at>
To: Java Apache <java-apache@list.working-dogs.com>
Subject: Re: Reliability/Scalability
Date: Thu, May 13, 1999, 11:46 AM


Here's a report on my experience with TowerJ 2.2.7. I just got my hands on 
the new 3.0 version which supports dynamic loading of classes, but I 
haven't tried it out yet.

First, at least for version 2.x of TowerJ it is true that it only makes 
sense if your set of classes is clearly defined. If you wanted to load 
classes not contained in the native executable, you had to recompile 
everything. For me this works great because the servlet is merely a thin 
proxy that connects to an application server via RMI. TowerJ 3.0 should 
supports dynamic loading/compiling of classes.

The speedup on Linux is dramatic. I'm sorry that I don't have any numbers, 
but the response time is almost immediate (<< 10ms) for requests that take 
>> 100ms with Blackdown Java. 
Jserv is running very stable with the TowerJ runtime on Linux. I didn't 
have a crash or other problem in months. 

Here's my TowerJ project file for JServ and the classes used for my servlet:
http://helma.at/hannes/jserv_tj.txt
It contains information about the name of the executable, the classpath to 
use, the name of the main class and a list of files to include. As you can 
see, this list mainly contains application- and RMI-specific classes, all 
the servlet or apache classes are included by dependency check from 
org.apache.jserv.JServ.

To configure Apache to start the native jserv you have to make some changes 
to jserv.properties: 
  wrapper.bin=/usr/local/jserv/bin/jserv
wrapper.class and wrapper.classpath are both not needed by the TowerJ 
runtime, but I think you have to wrapper.class to some string that's 
ignored by the executable.

When we bought it, the developer licenses costed $2400 on NT, $2400 on 
Linux, $4800 on HP. The runtime deployments costed $400 per deployment. I 
think the pricing has changed in the meantime, though.

That's it. I can highly recommend TowerJ with Jserv on Linux. TowerJ is 
also available on other server platforms, but I haven't used them (at least 
in conjunction with Jserv). The improvement may not be as huge if there 
already is a industrial strength JVMs available on that platform. 

Hannes
EndPart: 0
