tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Craig R. McClanahan" <>
Subject Re: catalina extensiblity, WAS: Re: catalina realms
Date Mon, 11 Sep 2000 17:29:46 GMT
Bernd Eilers wrote:

> Hi there !
> > That is correct.  The "class path" for Catalina's own components
> (including
> > any Valves, Realms, and so on that you write) is the JAR files found in
> the
> > "server" directory.
> > The "lib" directory is the set of libraries that are exposed to web
> > applications as shared components.
> Well why we are just at the topic of what is 'exposed' as shared
> components and what is not.
> I've always wondered why there are so many final and or private classes
> and methods in catalina in contrary to that catalina started with a
> mission description of being more extensible better embeddable core
> architecture.

The basic mission is to allow you to replace components of Catalina with
classes that implement the appropriate interfaces.  The question you are
asking seems like it is really "why don't you make it easier to extend
Catalina by promoting the subclassing of existing classes rather than having
to rewrite them from scratch?"

> Why for example is it not allowed to derive from classes in the
> org.apache.tomcat.startup.* package to do some customized stuff eg.
> override start in a class derived from
> It's an open source project there shouldn't be so much private methods
> ;-)

That's mostly a result of my personal programming habits :-)

I always start by writing classes as "final" (to let the compiler optimize
things a little better), with private instance variables, unless I know ahead
of time that I'm going to subclass.  If later development indicates that it
is better to allow subclassing, I have no problems at all going back and
making that possible.

The startup classes are a good candidate for doing this -- look for some
changes to be be posted in the next couple of days.  Are there any other
classes in particular that you'd like to subclass but cannot currently?

> > >
> > > Paul Lamb
> > >
> > Craig McClanahan
> Bernd Eilers

Craig McClanahan

See you at ApacheCon Europe <>!
Session VS01 (23-Oct 13h00-17h00):  Sun Technical Briefing
Session T06  (24-Oct 14h00-15h00):  Migrating Apache JServ
                                    Applications to Tomcat

View raw message