On 3/27/06, Remy Maucherat <[EMAIL PROTECTED]> wrote:
>
> Costin Manolache wrote:
> >> - I did my own connector refactorings very recently, and the result can
> >> be seen here (I removed SSL support in that code, but it could be left
> >> in easily) for the java.io endpoint:
> >>
> >>
> http://anonsvn.labs.jboss.com/trunk/labs/jbossweb/src/share/classes/org/apache/tomcat/util/net/JIoEndpoint.java
> >> This increases the commonality between the two endpoints, and IMO is
> the
> >> right first step to start code sharing. Since it is Java 5, I will also
> >> see if I can add ways to specify an Executor for use by the endpoint
> for
> >> its worker threads (I expect so-so performance, but it could allow
> >> things like a single thread pool for the whole server).
> >
> > +1 on increasing the commonality between endpoints, and +1 on removing
> > pure tls and the entire SSL-support from the base connector - if anyone
> > needs different SSL stack it can be added back, but with a different
> > abstraction.
> >
> > I'll compare your refactoring with mine ( in sandbox ), I have no
> problem
> > with
> > droping my code, but since we have 2 implementations it's good to
> compare
> > and see
> > if maybe there are good things in both :-)
>
> I didn't try to extract a superclass on my branch (most likely, I
> won't), but I figured making the two implementations as close as
> possible in terms of functionality would be the best first step. So the
> attributes of the connectors are about the same, and the endpoints are
> similar.


What would be your reason for not having a superclass for AprEndpoint and
non-AprEndpoint ???
They are already very similar - and your change will make them even more
similar,
the only difference is only in implementation details, etc.

Actually, my main concern is on removing the thread pool and ssl
abstractions ( keep
the TP as implementation for the endpoints that need it, but don't expose it
as an API and
not use it outside of endpoints ). If APR is a different class hierarchy - I
can just  ignore it
 :-), but the fundamental thing is to not expose details of the thread model
and SSL impl
( APR and NIO don't fit with the SSL or thread model abstractions anyway ).

So if you can get rid of all calls and deps to ThreadPool and SSLSuport -
and move the methods
into the Endpoint(s) - I'm +1.


> - The Jasper sources for JSP 2.1 are also in that repository.
> >> - (from the get rid of dependencies department) Should PureTLS support
> >> stay ?
> >>
> >> - I will happily write the build script, which is going to be an order
> >> of magnitude simpler.
> >
> > Let me know if you need help :-).
>
> You don't want to help on JSP 2.1 ? :D


I was talking about the ant script actually, don't want to start another
thread about jsp :-)


> The script in sandbox can already build all the base tomcat, it's just not
> > packing it
> > in the old format ( since it's purpose is to avoid the jar and directory
> > mess :-)
>
> The question is: is the directory mess useful or not ? There are
> justifications for it (at least, most of it).


Some justifications may no longer apply, some were proven to not matter, and
for some
 we know better alternatives :-)

I'm not advocating single-jar by default - but something more like JBoss,
i.e. flatter and
oriented more towards modules rather than a particular class loader
hierarchy.


> If you don't mind, I think we should have the single-jar option in the
> main
> > build file,
> > even if we won't release it this way.
> >
> > Any comment on the 'direct' commons-logging ?
>
> The direct c-l means the c-l hardcoded for java.util.logging ? Is so,
> I'm not that happy: the API is going to change in c-l 2.0, so I would
> prefer switching to java.util.logging (the only issue is that I think my
> boss would not like it, so it's probably not an option).


Not an option for your tree you mean :-)

Well, I would not like it either, there is value in having an API for
logging - and
java.util.logging is not really an API, but an implementation with some
hooks.
If c-l 2.0 changes in a backward incompatible way ( as is the habbit with
many
other apache products ) - then probably the best choice is to drop it, or
just -1 the changes in c-l and ask for a different package ( like
o.a.c.logging2 ).

Costin

Reply via email to