Hi,
we, in Enhydra Development Team, have a little problem with Tomcat 5.5.9
administration.
There are some Connector issues that I want to point out here.
1. In new Enhydra 6.4-1 (based on Tomcat 5.5.9) we are enabling secure SSL HTTP
Connector initialization (default connector configuration present in
'server.xml' configuration file with adaptable port setting). This part is
working great!
But, when we try to administer installed Tomcat through its 'admin' application
(change something in server configuration and commit changes) SSL HTTP
connector configuration gets corrupted. All connector parameters are saved
except 'sslProtocol' attribute setting which is not saved (I presume) because
of its default value (TLS). On server restart (when there is no 'sslProtocol'
parameter defined) SSL HTTP connector is initialized (without any exception -
OK) but isn't functional any more and 'admin application - SSL HTTP Connector -
SSL Protocol' parameter setting is empty.
Tomcat documentation is saying that 'sslProtocol' parameter is not obligate
(default value is TLS) but it's a bit different in practice (must be some bug
in HTTP connector-protocol initialization).
I've tried to find the cause of the problem in Tomcat source code!
It seems that problem can be resolved with simple implementation change in
'org.apache.catalina.connector.Connector' class
/**
* Set the secure connection flag that will be assigned to requests
* received through this connector.
*
* @param secure The new secure connection flag
*/
public void setSecure(boolean secure) {
this.secure = secure;
// additionally set 'secure' ProtocolHandler property trough
IntrospectionUtils class
setProperty("secure", String.valueOf(secure));
}
This code adaptation seems to be working for me. I didn't manage to test this
(my spare time is very limited) heavily but I hope that someone will take some
time to look into this.
2. We (in Enhydra) have 'Enhydra Director' - web server plug-in for Apache,
IIS and IPlanet supporting advanced load balancing, clustering and runtime
administration.
To enable communication between Tomcat and 'Director' we have our own protocol
implementation ('Enhydra Director Protocol').
When we add director-protocol implementation (binary) to Tomcat and (manually)
insert additional (Director) Connector configuration in 'server.xml' file
everything is working (perfect).
But, there is a question of runtime creation and reconfiguration (like for
other HTTP and AJP protocol implementations).
We adapted original Tomcat Admin application (few simple implementation
changes) and 'org.apache.catalina.mbeans.MBeanFactory' (implemented creation of
Director connector) Tomcat class together with 'mbeans-decriptors.xml' file.
Is there a way to enable creation and configuration of custom connector
(protocol) implementations during server runtime in predefined (elegant)
manner?
I don't want to patch original Tomcat binaries!
Regards,
Slobodan Vujasinovic
Enhydra Development Team