Bill Barker wrote:

>>   Index: CoyoteConnector.java
>>   ===================================================================
>>   @@ -1062,11 +1062,12 @@
>>         * Initialize this connector (create ServerSocket here!)
>>         */
>>        public void initialize()
>>   -        throws LifecycleException {
>>   -
>>   -        if (initialized)
>>   -            throw new LifecycleException
>>   -                (sm.getString("coyoteConnector.alreadyInitialized"));
>>   +        throws LifecycleException
>>   +    {
>>   +        if (initialized) {
>>   +
> log.info(sm.getString("coyoteConnector.alreadyInitialized"));
>>   +            return;
>>   +        }
> 
> I'm not sure that I'm happy with this.  Throwing an exception seems much
> cleaner than logging at a low level and pretending to be happy with
> everything.
> 
> This isn't a veto, since I haven't looked into the callers enough (yet) to
> know what changes.  But it is a very big red-flag.

The problem is that right now init/start are called twice in JMX mode - 
and I couldn't find any simple way to avoid this ( that wouldn't break too
much ).

If you load a connector as a MBean, the JMX container will take care of its
lifecycle - this way the connector could be unloaded/reloaded under JMX
control just like any other jmx component. But tomcat requires the
connector to be registered in Service, and Service will also call
init/stat/stop on it.

I think supporting both operating modes is quite important, so please 
let's not throw exceptions for a while. Having init() called twice
is really not that bad - it may be a sign that the container is confused (
which is very true :-), but the component doesn't have to throw errors.

The best would be to find a better solution to deal with the lifecycle - 
if the JMX container manages a component, Service shouldn't be used.


Costin




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to