On Sat, 15 Feb 2003, Christopher M. Judd wrote:

> Date: Sat, 15 Feb 2003 08:45:18 -0500
> From: Christopher M. Judd <[EMAIL PROTECTED]>
> Reply-To: Jakarta Commons Developers List <[EMAIL PROTECTED]>
> To: Jakarta Commons Developers List <[EMAIL PROTECTED]>
> Subject: Re: [dbcp] DBCP classloader in Tomcat 4.1.18
>
>
> Good point if you want to share it. But then why does the server.xml allow
> you to configure JNDI datasources for a web application or globally?
>

Because not everyone wants to share them.  You should note, though, that
the application can't tell whether it's using a shared pool or not -- and
it's none of the application's business, either.

But, even if you don't, notice that the data source configuration is still
external to the webapp.  Indeed, if you're using portable SQL code, you
don't necessarily even know (or care) which JDBC driver is actually used
-- that's up to the person installing and configuring your app.

JNDI-configured resources are part of the container, not part of the
application.

Craig

> ----- Original Message -----
> From: "Craig R. McClanahan" <[EMAIL PROTECTED]>
> To: "Jakarta Commons Developers List" <[EMAIL PROTECTED]>
> Sent: Friday, February 14, 2003 11:06 PM
> Subject: Re: [dbcp] DBCP classloader in Tomcat 4.1.18
>
>
> >
> >
> > On Fri, 14 Feb 2003, Christopher M. Judd wrote:
> >
> > > Date: Fri, 14 Feb 2003 22:56:15 -0500
> > > From: Christopher M. Judd <[EMAIL PROTECTED]>
> > > Reply-To: Jakarta Commons Developers List
> <[EMAIL PROTECTED]>
> > > To: Jakarta Commons <[EMAIL PROTECTED]>
> > > Subject: [dbcp] DBCP classloader in Tomcat 4.1.18
> > >
> > > I am building a web application using Tomcat 4.1.18, Struts 1.1 b3 and
> > > MSSQL. I have used Struts 1.0 in the past and configured the datasources
> > > in struts-config.xml file. This is my first attempt at using Struts 1.1
> > > b3 and datasource configurations in the struts-config.xml file have been
> > > deprecated. I tried to configure the datasource using JNDI several times
> > > with no luck. I repeatedly got ClassNotFoundExceptions on the MSSQL
> > > driver class. I tried placing the MSSQL jars in the WEB-INF/lib of my
> > > web app, in the server/lib and in the shared/lib. Finally I tried
> > > creating a JSP and doing a Class.forName(). The JSP could find the class
> > > so I realized after many hours of trial and error it must be a
> > > Classloader issue. I finally found the common/lib directory and that
> > > worked. After thinking about it I realize the issue and that the
> > > common/lib jars must be in a different Classloader. However, I am
> > > wondering if there is an issue with the way commons-dbcp locates and
> > > loads classes. Requiring database jars to reside in the common/lib and
> > > not in the web applications WEB-INF/lib reduces flexibility.
> > >
> >
> > What happens if the data source (connection pool) you are configuring is
> > shared between webapps?  That's going to cause a pretty significant
> > problem.
> >
> > If you are using JNDI-based resources, you are saying (in effect) that it
> > is the container's responsibility to provide you with that object,
> > completely configured and ready for use by a webapp.  Therefore, it
> > doesn't make sense to include any of the classes in your webapp itself --
> > instead, you need to make them part of the container (Tomcat in this case)
> > configuration.
> >
> > Craig
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

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

Reply via email to