You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Marc Dugger <ma...@socotech.com> on 2003/11/17 19:55:36 UTC

jndi + dbcp

My resource parameters are not being passed correctly to a JDBC resource
factory causing this stack trace:

2003-11-17 12:42:59,281 [main] FATAL
com.socotech.loanauditor.dao.TorqueDomainTypeDAO - Cannot create JDBC driver
of class '' for connect URL 'null'
org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of
class '' for connect URL 'null', cause:
java.sql.SQLException: No suitable driver
        at java.sql.DriverManager.getDriver(DriverManager.java:243)
        at
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.jav
a:743)
        at
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:5
18)
        at org.apache.torque.Torque.getConnection(Torque.java:890)
        at
org.apache.torque.util.Transaction.beginOptional(Transaction.java:114)
        at org.apache.torque.util.BasePeer.doSelect(BasePeer.java:1328)
        at
com.socotech.loanauditor.or.torque.BaseTimeIntervalImplPeer.doSelectVillageR
ecords(BaseTimeIntervalImplPeer.java:375)
        at
com.socotech.loanauditor.or.torque.BaseTimeIntervalImplPeer.doSelectVillageR
ecords(BaseTimeIntervalImplPeer.java:342)
        at
com.socotech.loanauditor.or.torque.BaseTimeIntervalImplPeer.doSelect(BaseTim
eIntervalImplPeer.java:311)
        at
com.socotech.loanauditor.dao.TorqueDomainTypeDAO.getTimeIntervals(TorqueDoma
inTypeDAO.java:36)
        at
com.socotech.loanauditor.web.listener.DomainTypeLoader.contextInitialized(Do
mainTypeLoader.java:32)
        at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:
3271)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:3613)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
        at
org.apache.catalina.core.StandardHost.start(StandardHost.java:754)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:363)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:497)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:2190)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:512)
        at org.apache.catalina.startup.Catalina.execute(Catalina.java:400)
        at org.apache.catalina.startup.Catalina.process(Catalina.java:180)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)

my server.xml:

<GlobalNamingResources>
    <Resource name="jdbc/loanauditor" auth="Container"
type="javax.sql.DataSource" />
    <ResourceParams name="jdbc/loanauditor">
        <parameter>
          <name>factory</name>
          <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
        </parameter>
        <parameter>
          <name>maxActive</name>
          <value>100</value>
        </parameter>
        <parameter>
          <name>maxIdle</name>
          <value>30</value>
        </parameter>
        <parameter>
          <name>maxWait</name>
          <value>10000</value>
        </parameter>
        <parameter>
         <name>username</name>
         <value>marc</value>
        </parameter>
        <parameter>
         <name>password</name>
         <value>[PASSWORD]</value>
        </parameter>
        <parameter>
           <name>driverClassName</name>
           <value>com.mysql.jdbc.Driver</value>
        </parameter>
        <parameter>
          <name>url</name>

<value>jdbc:mysql://localhost:3306/loanauditor?autoReconnect=true</value>
        </parameter>
    </ResourceParams>

I've got JDBC driver, commons-dbcp, commons-pool, and commons-collections in
Tomcat's common/lib.  Thanks in advance for any insight!


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


RE: jndi + dbcp [SOLUTION]

Posted by "Brent@VendorSolutions.com" <br...@vendorsolutions.com>.
My problem with the DBCP is that the tomcat manager will not install the
database connection for a pooled datasource.  Each time I add a new
Context or Host, I must stop and restart the entire tomcat app.  This is
not fun and takes more than 5 minutes.  

To install a new app in the manager I use

/manager?path=/website.com?war=file:/path/to/website.com

Each time I do this it starts the web context but without the database
connection.  Any suggestions? Or is there a way to gracefully restart
the tomcat in a multiple virtual domain environment.


THANKS.....


I put the resource link into the context as was mentioned..but still no
luck

<Context path="/website.com" docBase="website.com" debug="0"
reloadable="true" crossContext="false">

<Logger className="org.apache.catalina.logger.FileLogger"
	prefix="localhost_log." suffix=".txt"
	timestamp="true" />

<Valve className="org.apache.catalina.valves.AccessLogValve"
                 directory="webapps/website.com"  prefix="access_log."
suffix=".txt"
                 pattern="combined" resolveHosts="false"/>

          <ResourceLink name="jdbc/myconn"
                        global="myconnDB"
                        type="javax.sql.DataSource"/>

<Resource name="jdbc/myconn" auth="CONTAINER"
type="javax.sql.DataSource" />
<ResourceParams name="jdbc/myconn">
	<parameter>
		<name>factory</name>
	
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
	</parameter>
	<!--set 0 for no limit of max connections-->
	<parameter>
		<name>maxActive</name>
		<value>500000</value>
	</parameter>
	<!--set 0 for no limit idle connections-->
	<parameter>
		<name>maxIdle</name>
		<value>300000</value>
	</parameter>
	<!--max time to wait for connection...and then exception is
thrown (-1 to set indefinitely)-->
	<parameter>
		<name>maxWait</name>
		<value>-1</value>
	</parameter>

	<parameter>
		<name>username</name>
		<value>uname</value>
	</parameter>
	<parameter>
		<name>password</name>
		<value>pass</value>
	</parameter>

	<parameter>
		<name>driverClassName</name>
		<value>com.mysql.jdbc.Driver</value>
	</parameter>

	<!--autoconnect = true means that mm.mysql will automatically
connect if mysql closes the connection.-->
	<!--mysqld automatically closes idle connections after 8
hours.-->
	<parameter>
		<name>url</name>
	
<value>jdbc:mysql://localhost/website:3306/javatest?autoReconnect=true</
value>
	</parameter>
</ResourceParams>
	<Environment name="maxExemptions" type="java.lang.Integer"
                      value="15"/>
          <Parameter name="context.param.name"
value="context.param.value"
                     override="false"/>
          <Resource name="mail/Session" auth="Container"
                    type="javax.mail.Session"/>
          <ResourceParams name="mail/Session">
            <parameter>
              <name>mail.smtp.host</name>
              <value>localhost</value>
            </parameter>
          </ResourceParams>
       
</Context>



-----Original Message-----
From: Christopher Schultz [mailto:christopher.d.schultz@comcast.net] 
Sent: Monday, November 17, 2003 7:38 PM
To: Tomcat Users List
Subject: Re: jndi + dbcp [SOLUTION]


Brent,

> Marc Thanks..!
> 
> Do you know if the global link is necessary...or what it does?

Apparently, GlobalNamingResources is a misnomer. What it really means is

"global pool of available resources". If you want to make one available 
to a Context, you'll need a <ResourceLink> element.

Note that you'll also need a <resource-ref> in your deployment 
descriptor, too!

-chris


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Re: jndi + dbcp [SOLUTION]

Posted by Christopher Schultz <ch...@comcast.net>.
Brent,

> Marc Thanks..!
> 
> Do you know if the global link is necessary...or what it does?

Apparently, GlobalNamingResources is a misnomer. What it really means is 
"global pool of available resources". If you want to make one available 
to a Context, you'll need a <ResourceLink> element.

Note that you'll also need a <resource-ref> in your deployment 
descriptor, too!

-chris


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


RE: jndi + dbcp [SOLUTION]

Posted by "Brent@VendorSolutions.com" <br...@vendorsolutions.com>.
Marc Thanks..!

Do you know if the global link is necessary...or what it does?

Brent 


-----Original Message-----
From: Marc Dugger [mailto:marc@socotech.com] 
Sent: Monday, November 17, 2003 12:56 PM
To: Brent@VendorSolutions.com; 'Tomcat Users List'
Subject: RE: jndi + dbcp [SOLUTION]


I had defined the resource at the global level, but failed to link it to
the context.

before:

<Context path="/workbench"
docBase="C:\Code\loanauditor\src\webapp\workbench"
         workDir="C:\Code\loanauditor\src\webapp\workbench\WEB-INF\work"
reloadable="true" debug="0" />

after:

<Context path="/workbench"
docBase="C:\Code\loanauditor\src\webapp\workbench"
         workDir="C:\Code\loanauditor\src\webapp\workbench\WEB-INF\work"
reloadable="true" debug="0">
         <ResourceLink name="jdbc/loanauditor"
                       global="LoanAuditorDB"
                       type="javax.sql.DataSource"/>
</Context>



> -----Original Message-----
> From: Brent@VendorSolutions.com [mailto:brent@vendorsolutions.com]
> Sent: Monday, November 17, 2003 2:29 PM
> To: 'Tomcat Users List'; marc@socotech.com
> Subject: RE: jndi + dbcp [SOLUTION]
>
>
> Hey Mark,
>
> Can you post your context solution...I am not sure about the 
> ResourceLink
>
> Thanks Brent
>
>
>
> -----Original Message-----
> From: Marc Dugger [mailto:marc@socotech.com]
> Sent: Monday, November 17, 2003 12:26 PM
> To: Tomcat Users List
> Subject: RE: jndi + dbcp [SOLUTION]
>
>
> missing <ResourceLink .../> inside <Context ../>
>
> > -----Original Message-----
> > From: Marc Dugger [mailto:marc@socotech.com]
> > Sent: Monday, November 17, 2003 12:56 PM
> > To: tomcat-user@jakarta.apache.org
> > Subject: jndi + dbcp
> >
> >
> > My resource parameters are not being passed correctly to a JDBC 
> > resource factory causing this stack trace:
> >
> > 2003-11-17 12:42:59,281 [main] FATAL 
> > com.socotech.loanauditor.dao.TorqueDomainTypeDAO - Cannot create 
> > JDBC driver of class '' for connect URL 'null'
> > org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC 
> > driver
> of
> > class '' for connect URL 'null', cause:
> > java.sql.SQLException: No suitable driver
> >         at java.sql.DriverManager.getDriver(DriverManager.java:243)
> >         at 
> > org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicData
> > Source.jav
> > a:743)
> >         at 
> > org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSou
> > rce.java:5
> > 18)
> >         at org.apache.torque.Torque.getConnection(Torque.java:890)
> >         at
> >
org.apache.torque.util.Transaction.beginOptional(Transaction.java:114)
> >         at
> org.apache.torque.util.BasePeer.doSelect(BasePeer.java:1328)
> >         at 
> > com.socotech.loanauditor.or.torque.BaseTimeIntervalImplPeer.doSele
> > ctVillageR
> > ecords(BaseTimeIntervalImplPeer.java:375)
> >         at 
> > com.socotech.loanauditor.or.torque.BaseTimeIntervalImplPeer.doSele
> > ctVillageR
> > ecords(BaseTimeIntervalImplPeer.java:342)
> >         at 
> > com.socotech.loanauditor.or.torque.BaseTimeIntervalImplPeer.doSele
> > ct(BaseTim
> > eIntervalImplPeer.java:311)
> >         at 
> > com.socotech.loanauditor.dao.TorqueDomainTypeDAO.getTimeIntervals(
> > TorqueDoma
> > inTypeDAO.java:36)
> >         at 
> > com.socotech.loanauditor.web.listener.DomainTypeLoader.contextInit
> > ialized(Do
> > mainTypeLoader.java:32)
> >         at 
> > org.apache.catalina.core.StandardContext.listenerStart(StandardCon
> > text.java:
> > 3271)
> >         at
> >
> org.apache.catalina.core.StandardContext.start(StandardContext.java:36
> 13
> )
> >         at
> >
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
> >         at
> > org.apache.catalina.core.StandardHost.start(StandardHost.java:754)
> >         at
> >
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
> >         at
> >
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:363)
> >         at
> >
> org.apache.catalina.core.StandardService.start(StandardService.java:49
> 7)
> >         at
> >
> org.apache.catalina.core.StandardServer.start(StandardServer.java:2190
> )
> >         at
> org.apache.catalina.startup.Catalina.start(Catalina.java:512)
> >         at
> org.apache.catalina.startup.Catalina.execute(Catalina.java:400)
> >         at
> org.apache.catalina.startup.Catalina.process(Catalina.java:180)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
> >         at 
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
> > pl.java:39
> > )
> >         at 
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> > cessorImpl
> > .java:25)
> >         at java.lang.reflect.Method.invoke(Method.java:324)
> >         at
> org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)
> >
> > my server.xml:
> >
> > <GlobalNamingResources>
> >     <Resource name="jdbc/loanauditor" auth="Container" 
> > type="javax.sql.DataSource" />
> >     <ResourceParams name="jdbc/loanauditor">
> >         <parameter>
> >           <name>factory</name>
> >
> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
> >         </parameter>
> >         <parameter>
> >           <name>maxActive</name>
> >           <value>100</value>
> >         </parameter>
> >         <parameter>
> >           <name>maxIdle</name>
> >           <value>30</value>
> >         </parameter>
> >         <parameter>
> >           <name>maxWait</name>
> >           <value>10000</value>
> >         </parameter>
> >         <parameter>
> >          <name>username</name>
> >          <value>marc</value>
> >         </parameter>
> >         <parameter>
> >          <name>password</name>
> >          <value>[PASSWORD]</value>
> >         </parameter>
> >         <parameter>
> >            <name>driverClassName</name>
> >            <value>com.mysql.jdbc.Driver</value>
> >         </parameter>
> >         <parameter>
> >           <name>url</name>
> >
> >
> <value>jdbc:mysql://localhost:3306/loanauditor?autoReconnect=true</val
> ue
> >
> >         </parameter>
> >     </ResourceParams>
> >
> > I've got JDBC driver, commons-dbcp, commons-pool, and 
> > commons-collections in Tomcat's common/lib.  Thanks in advance for 
> > any
>
> > insight!
> >
> >
> > --------------------------------------------------------------------
> > -
> > To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>



---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


RE: jndi + dbcp [SOLUTION]

Posted by Marc Dugger <ma...@socotech.com>.
I had defined the resource at the global level, but failed to link it to the
context.

before:

<Context path="/workbench"
docBase="C:\Code\loanauditor\src\webapp\workbench"
         workDir="C:\Code\loanauditor\src\webapp\workbench\WEB-INF\work"
reloadable="true" debug="0" />

after:

<Context path="/workbench"
docBase="C:\Code\loanauditor\src\webapp\workbench"
         workDir="C:\Code\loanauditor\src\webapp\workbench\WEB-INF\work"
reloadable="true" debug="0">
         <ResourceLink name="jdbc/loanauditor"
                       global="LoanAuditorDB"
                       type="javax.sql.DataSource"/>
</Context>



> -----Original Message-----
> From: Brent@VendorSolutions.com [mailto:brent@vendorsolutions.com]
> Sent: Monday, November 17, 2003 2:29 PM
> To: 'Tomcat Users List'; marc@socotech.com
> Subject: RE: jndi + dbcp [SOLUTION]
>
>
> Hey Mark,
>
> Can you post your context solution...I am not sure about the
> ResourceLink
>
> Thanks Brent
>
>
>
> -----Original Message-----
> From: Marc Dugger [mailto:marc@socotech.com]
> Sent: Monday, November 17, 2003 12:26 PM
> To: Tomcat Users List
> Subject: RE: jndi + dbcp [SOLUTION]
>
>
> missing <ResourceLink .../> inside <Context ../>
>
> > -----Original Message-----
> > From: Marc Dugger [mailto:marc@socotech.com]
> > Sent: Monday, November 17, 2003 12:56 PM
> > To: tomcat-user@jakarta.apache.org
> > Subject: jndi + dbcp
> >
> >
> > My resource parameters are not being passed correctly to a JDBC
> > resource factory causing this stack trace:
> >
> > 2003-11-17 12:42:59,281 [main] FATAL
> > com.socotech.loanauditor.dao.TorqueDomainTypeDAO - Cannot create JDBC
> > driver of class '' for connect URL 'null'
> > org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver
> of
> > class '' for connect URL 'null', cause:
> > java.sql.SQLException: No suitable driver
> >         at java.sql.DriverManager.getDriver(DriverManager.java:243)
> >         at
> > org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicData
> > Source.jav
> > a:743)
> >         at
> > org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSou
> > rce.java:5
> > 18)
> >         at org.apache.torque.Torque.getConnection(Torque.java:890)
> >         at
> > org.apache.torque.util.Transaction.beginOptional(Transaction.java:114)
> >         at
> org.apache.torque.util.BasePeer.doSelect(BasePeer.java:1328)
> >         at
> > com.socotech.loanauditor.or.torque.BaseTimeIntervalImplPeer.doSele
> > ctVillageR
> > ecords(BaseTimeIntervalImplPeer.java:375)
> >         at
> > com.socotech.loanauditor.or.torque.BaseTimeIntervalImplPeer.doSele
> > ctVillageR
> > ecords(BaseTimeIntervalImplPeer.java:342)
> >         at
> > com.socotech.loanauditor.or.torque.BaseTimeIntervalImplPeer.doSele
> > ct(BaseTim
> > eIntervalImplPeer.java:311)
> >         at
> > com.socotech.loanauditor.dao.TorqueDomainTypeDAO.getTimeIntervals(
> > TorqueDoma
> > inTypeDAO.java:36)
> >         at
> > com.socotech.loanauditor.web.listener.DomainTypeLoader.contextInit
> > ialized(Do
> > mainTypeLoader.java:32)
> >         at
> > org.apache.catalina.core.StandardContext.listenerStart(StandardCon
> > text.java:
> > 3271)
> >         at
> >
> org.apache.catalina.core.StandardContext.start(StandardContext.java:3613
> )
> >         at
> > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
> >         at
> > org.apache.catalina.core.StandardHost.start(StandardHost.java:754)
> >         at
> > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
> >         at
> > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:363)
> >         at
> >
> org.apache.catalina.core.StandardService.start(StandardService.java:497)
> >         at
> >
> org.apache.catalina.core.StandardServer.start(StandardServer.java:2190)
> >         at
> org.apache.catalina.startup.Catalina.start(Catalina.java:512)
> >         at
> org.apache.catalina.startup.Catalina.execute(Catalina.java:400)
> >         at
> org.apache.catalina.startup.Catalina.process(Catalina.java:180)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >         at
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
> > pl.java:39
> > )
> >         at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> > cessorImpl
> > .java:25)
> >         at java.lang.reflect.Method.invoke(Method.java:324)
> >         at
> org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)
> >
> > my server.xml:
> >
> > <GlobalNamingResources>
> >     <Resource name="jdbc/loanauditor" auth="Container"
> > type="javax.sql.DataSource" />
> >     <ResourceParams name="jdbc/loanauditor">
> >         <parameter>
> >           <name>factory</name>
> >
> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
> >         </parameter>
> >         <parameter>
> >           <name>maxActive</name>
> >           <value>100</value>
> >         </parameter>
> >         <parameter>
> >           <name>maxIdle</name>
> >           <value>30</value>
> >         </parameter>
> >         <parameter>
> >           <name>maxWait</name>
> >           <value>10000</value>
> >         </parameter>
> >         <parameter>
> >          <name>username</name>
> >          <value>marc</value>
> >         </parameter>
> >         <parameter>
> >          <name>password</name>
> >          <value>[PASSWORD]</value>
> >         </parameter>
> >         <parameter>
> >            <name>driverClassName</name>
> >            <value>com.mysql.jdbc.Driver</value>
> >         </parameter>
> >         <parameter>
> >           <name>url</name>
> >
> >
> <value>jdbc:mysql://localhost:3306/loanauditor?autoReconnect=true</value
> >
> >         </parameter>
> >     </ResourceParams>
> >
> > I've got JDBC driver, commons-dbcp, commons-pool, and
> > commons-collections in Tomcat's common/lib.  Thanks in advance for any
>
> > insight!
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


RE: jndi + dbcp [SOLUTION]

Posted by "Brent@VendorSolutions.com" <br...@vendorsolutions.com>.
Hey Mark, 

Can you post your context solution...I am not sure about the
ResourceLink

Thanks Brent
 


-----Original Message-----
From: Marc Dugger [mailto:marc@socotech.com] 
Sent: Monday, November 17, 2003 12:26 PM
To: Tomcat Users List
Subject: RE: jndi + dbcp [SOLUTION]


missing <ResourceLink .../> inside <Context ../>

> -----Original Message-----
> From: Marc Dugger [mailto:marc@socotech.com]
> Sent: Monday, November 17, 2003 12:56 PM
> To: tomcat-user@jakarta.apache.org
> Subject: jndi + dbcp
>
>
> My resource parameters are not being passed correctly to a JDBC 
> resource factory causing this stack trace:
>
> 2003-11-17 12:42:59,281 [main] FATAL 
> com.socotech.loanauditor.dao.TorqueDomainTypeDAO - Cannot create JDBC 
> driver of class '' for connect URL 'null'
> org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver
of
> class '' for connect URL 'null', cause:
> java.sql.SQLException: No suitable driver
>         at java.sql.DriverManager.getDriver(DriverManager.java:243)
>         at
> org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicData
> Source.jav
> a:743)
>         at
> org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSou
> rce.java:5
> 18)
>         at org.apache.torque.Torque.getConnection(Torque.java:890)
>         at
> org.apache.torque.util.Transaction.beginOptional(Transaction.java:114)
>         at
org.apache.torque.util.BasePeer.doSelect(BasePeer.java:1328)
>         at
> com.socotech.loanauditor.or.torque.BaseTimeIntervalImplPeer.doSele
> ctVillageR
> ecords(BaseTimeIntervalImplPeer.java:375)
>         at
> com.socotech.loanauditor.or.torque.BaseTimeIntervalImplPeer.doSele
> ctVillageR
> ecords(BaseTimeIntervalImplPeer.java:342)
>         at
> com.socotech.loanauditor.or.torque.BaseTimeIntervalImplPeer.doSele
> ct(BaseTim
> eIntervalImplPeer.java:311)
>         at
> com.socotech.loanauditor.dao.TorqueDomainTypeDAO.getTimeIntervals(
> TorqueDoma
> inTypeDAO.java:36)
>         at
> com.socotech.loanauditor.web.listener.DomainTypeLoader.contextInit
> ialized(Do
> mainTypeLoader.java:32)
>         at
> org.apache.catalina.core.StandardContext.listenerStart(StandardCon
> text.java:
> 3271)
>         at
>
org.apache.catalina.core.StandardContext.start(StandardContext.java:3613
)
>         at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
>         at
> org.apache.catalina.core.StandardHost.start(StandardHost.java:754)
>         at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
>         at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:363)
>         at
>
org.apache.catalina.core.StandardService.start(StandardService.java:497)
>         at
>
org.apache.catalina.core.StandardServer.start(StandardServer.java:2190)
>         at
org.apache.catalina.startup.Catalina.start(Catalina.java:512)
>         at
org.apache.catalina.startup.Catalina.execute(Catalina.java:400)
>         at
org.apache.catalina.startup.Catalina.process(Catalina.java:180)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
> pl.java:39
> )
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> cessorImpl
> .java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)
>
> my server.xml:
>
> <GlobalNamingResources>
>     <Resource name="jdbc/loanauditor" auth="Container" 
> type="javax.sql.DataSource" />
>     <ResourceParams name="jdbc/loanauditor">
>         <parameter>
>           <name>factory</name>
>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
>         </parameter>
>         <parameter>
>           <name>maxActive</name>
>           <value>100</value>
>         </parameter>
>         <parameter>
>           <name>maxIdle</name>
>           <value>30</value>
>         </parameter>
>         <parameter>
>           <name>maxWait</name>
>           <value>10000</value>
>         </parameter>
>         <parameter>
>          <name>username</name>
>          <value>marc</value>
>         </parameter>
>         <parameter>
>          <name>password</name>
>          <value>[PASSWORD]</value>
>         </parameter>
>         <parameter>
>            <name>driverClassName</name>
>            <value>com.mysql.jdbc.Driver</value>
>         </parameter>
>         <parameter>
>           <name>url</name>
>
>
<value>jdbc:mysql://localhost:3306/loanauditor?autoReconnect=true</value
>
>         </parameter>
>     </ResourceParams>
>
> I've got JDBC driver, commons-dbcp, commons-pool, and 
> commons-collections in Tomcat's common/lib.  Thanks in advance for any

> insight!
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


RE: jndi + dbcp [SOLUTION]

Posted by Marc Dugger <ma...@socotech.com>.
missing <ResourceLink .../> inside <Context ../>

> -----Original Message-----
> From: Marc Dugger [mailto:marc@socotech.com]
> Sent: Monday, November 17, 2003 12:56 PM
> To: tomcat-user@jakarta.apache.org
> Subject: jndi + dbcp
>
>
> My resource parameters are not being passed correctly to a JDBC resource
> factory causing this stack trace:
>
> 2003-11-17 12:42:59,281 [main] FATAL
> com.socotech.loanauditor.dao.TorqueDomainTypeDAO - Cannot create
> JDBC driver
> of class '' for connect URL 'null'
> org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of
> class '' for connect URL 'null', cause:
> java.sql.SQLException: No suitable driver
>         at java.sql.DriverManager.getDriver(DriverManager.java:243)
>         at
> org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicData
> Source.jav
> a:743)
>         at
> org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSou
> rce.java:5
> 18)
>         at org.apache.torque.Torque.getConnection(Torque.java:890)
>         at
> org.apache.torque.util.Transaction.beginOptional(Transaction.java:114)
>         at org.apache.torque.util.BasePeer.doSelect(BasePeer.java:1328)
>         at
> com.socotech.loanauditor.or.torque.BaseTimeIntervalImplPeer.doSele
> ctVillageR
> ecords(BaseTimeIntervalImplPeer.java:375)
>         at
> com.socotech.loanauditor.or.torque.BaseTimeIntervalImplPeer.doSele
> ctVillageR
> ecords(BaseTimeIntervalImplPeer.java:342)
>         at
> com.socotech.loanauditor.or.torque.BaseTimeIntervalImplPeer.doSele
> ct(BaseTim
> eIntervalImplPeer.java:311)
>         at
> com.socotech.loanauditor.dao.TorqueDomainTypeDAO.getTimeIntervals(
> TorqueDoma
> inTypeDAO.java:36)
>         at
> com.socotech.loanauditor.web.listener.DomainTypeLoader.contextInit
> ialized(Do
> mainTypeLoader.java:32)
>         at
> org.apache.catalina.core.StandardContext.listenerStart(StandardCon
> text.java:
> 3271)
>         at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:3613)
>         at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
>         at
> org.apache.catalina.core.StandardHost.start(StandardHost.java:754)
>         at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
>         at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:363)
>         at
> org.apache.catalina.core.StandardService.start(StandardService.java:497)
>         at
> org.apache.catalina.core.StandardServer.start(StandardServer.java:2190)
>         at org.apache.catalina.startup.Catalina.start(Catalina.java:512)
>         at org.apache.catalina.startup.Catalina.execute(Catalina.java:400)
>         at org.apache.catalina.startup.Catalina.process(Catalina.java:180)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
> pl.java:39
> )
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> cessorImpl
> .java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)
>
> my server.xml:
>
> <GlobalNamingResources>
>     <Resource name="jdbc/loanauditor" auth="Container"
> type="javax.sql.DataSource" />
>     <ResourceParams name="jdbc/loanauditor">
>         <parameter>
>           <name>factory</name>
>           <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
>         </parameter>
>         <parameter>
>           <name>maxActive</name>
>           <value>100</value>
>         </parameter>
>         <parameter>
>           <name>maxIdle</name>
>           <value>30</value>
>         </parameter>
>         <parameter>
>           <name>maxWait</name>
>           <value>10000</value>
>         </parameter>
>         <parameter>
>          <name>username</name>
>          <value>marc</value>
>         </parameter>
>         <parameter>
>          <name>password</name>
>          <value>[PASSWORD]</value>
>         </parameter>
>         <parameter>
>            <name>driverClassName</name>
>            <value>com.mysql.jdbc.Driver</value>
>         </parameter>
>         <parameter>
>           <name>url</name>
>
> <value>jdbc:mysql://localhost:3306/loanauditor?autoReconnect=true</value>
>         </parameter>
>     </ResourceParams>
>
> I've got JDBC driver, commons-dbcp, commons-pool, and
> commons-collections in
> Tomcat's common/lib.  Thanks in advance for any insight!
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org