tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: Lutris_Kelp: [Fwd: What Do We Do With The User's Classpath?]
Date Wed, 19 Jul 2000 17:01:18 GMT
> * System manager has installed version X of the FooBar JDBC driver
>   as a shared library (on the system class path).
> * A particular application installed in this container installation requires
>   some patches that were applied in version Y of the FooBar JDBC
>   driver, so the developer included this jar in WEB-INF/lib.
> * If the traditional delegation model, is followed, none of the version
> Y
>   classes are used (they have the same class names, after all), so the
>   container vendor gets a bug report "your *&*&(*$&*#(& container
>   won't load my classes even though they are in the WEB-INF/lib
> directory!!!"
>   Trying to blame the sysadmin for installing version X as a shared
> library
>   isn't going to get us very far, because she's got existing
> applications
>   that require it, and she sees no need to duplicate it on all the
> existing
>   web-apps just for this new app to work.
> * If the existing Catalina model is followed, this one app uses the
> version Y
>   classes and everyone else continues to rely on the existing shared
>   version X driver installed in the container.  Peaceful coexistence
> reigns,
>   and everyone lives happily ever after.  :-)

However, a more likely case is:

- sysadmin upgrades the database and the driver
- All apps including FooBar driver will no longer work in Catalina,
because they use a (now) wrong driver.

It is more likely because (IMHO) the sysadmin knows better than the web
app developer what database it wants to use for his server and what is
the right driver.

Another problem ( I repeated this case few times, it seems nobody reads my
mails :-( ) - you may have a database like Oracle where a native driver
exists and ( as Oracle claims) it's faster. 

Not to mention that the webapp developer have no idea where the
application will run - it can be any server or any application. 


View raw message