-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Sreyan,

On 8/28/15 3:11 PM, Sreyan Chakravarty wrote:
> Okay I am trying to use connection pooling for my project which
> uses Maven as a build tool. Now the JDBC Driver is listed as a
> maven dependency. Tomcat however cant find it when I try to do
> 
> ds.getConnection (ie. get a JDBC connection from a datasource).
> 
> The error that I am getting is -:
> 
> java.sql.SQLException: Cannot create JDBC driver of class '' for
> connect URL 'null'
> 
> [snip]
> 
> Caused by: java.sql.SQLException: No suitable driver at
> java.sql.DriverManager.getDriver(DriverManager.java:315) at 
> org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createConnectionFactory(B
asicDataSource.java:2049)
>
> 
... 27 more
> 
> As you can see in the end it says that caused by "No suitable
> driver"

Where is your mysql-*.jar file?

> <Context>
> 
> <Resource name="jdbc/TestDB" auth="Container"
> type="javax.sql.DataSource" maxTotal="100" maxIdle="30"
> maxWaitMillis="10000" removeAbandonedOnBorrow="true" 
> timeBetweenEvictionRunsMillis="10000" 
> minEvictableIdleTimeMillis="6000" 
> removeAbandonedOnMaintenance="true" logAbandoned="true" 
> username="sreyan" password="sreyan" 
> driverClassName="com.mysql.jdbc.Driver" 
> url="jdbc:mysql://localhost:3306/practice"/> <Realm
> className="org.apache.catalina.realm.DataSourceRealm" 
> dataSourceName="jdbc/TestDB" userTable="users"
> userNameCol="user_id" userCredCol="user_pass" 
> userRoleTable="user_roles" roleNameCol="role_name">
> 
> <CredentialHandler className = 
> "org.apache.catalina.realm.SecretKeyCredentialHandler" algorithm =
> "PBEWITHHMACSHA384ANDAES_256" iterations = "111111" saltLength =
> "20" />
> 
> </Realm> </Context>

I'm glad you got the CredentialHandler stuff working (or did you?).

NOTE: your <Realm> is going to need to have this attribute added to it
in order to work:

   localDataSource="true"

> I have used the Maven webapp archetype for creating the project.
> 
> How do I get Tomcat to load the driver at start up. Also I have put
> the JDBC Driver at $Catalina_Home/lib. But even this has no help.
> All my other projects that don't use Maven can use connection
> pooling perfectly with the above configurations.

Do you have the JDBC driver in both places (lib/ and
webapps/[app]/WEB-INF/lib) or just in Tomcat's lib/ directory?

> Where am I going wrong ? Where do you keep the <resource-ref>
> declaration ? After the servlet mappings ?

I've found that <resource-ref> is entirely unnecessary, but that may
be because you have declared the <Resource> in your app's
META-INF/context.xml file, so your application already knows it's local.

- -chris
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org

iQIcBAEBCAAGBQJV4LdEAAoJEBzwKT+lPKRYHr4P/3Ewp4bFEOSU7SG17nzmMK9Q
YpT8g+Zd8AFuF5uKH/IjogFMaZD5wgYalImjMxp1/KzgT3XULK0YWfd1NZcK276i
kxXNEMB7ybjmbETASVGh/BDrCNn/v6GPv1TCI/mrjsrcP4iRHeUrLiMjfk9KxdaO
n2kmn770bvBmYn/VvILu9KTLF1rWh/aY75mdUc2q5mtyqdC7dg+Ky0aeZCdQj5yM
yxJCInN8ntk/UFIO2ycDoosgdQIvA9c0+4VluKJ7tGLSc0QRrEaLjNnAHn3J/evP
jpUQTSnhgD9G9dzjVNEtNcwTFbPNemdItpSVFPHB3p6An5sE6uKY4hkTiCDAwTk5
4cp8fkpabVvSz0+FEYZ9FSOqeun2Bn61bJTqPM4Yk9Z9dfC92CcKkC8tnjnVyPaK
DGgMxEFFZgBza9BZAtcGWn3CzOWBQvRJCiK/xm02dQKHYyszA33W/h9pGB1hIWJT
hePUusot0w9p8IgDhFh4+0cTkTNAVUnIQWnPuHsdUn5Itc0qql1LDWRdhWlQMc6W
tp3Oqt7noSnoZpIa2mLimXW/36QOkm1nxZl3urnbTlsxPuAmfrEt/ndfIoWPlhcN
1jbAF7Kh4k4wdBbu4SNptl1xqb2GVD3f+BcuSQr3s2OkYd8fXQqFzIDjS9JzWvD5
iX2CYicMQroQhgS/06MQ
=oogU
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to