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

 

Reply via email to