i have made few changes, but it didn't work.
(my project uses tomcat and hibernate.)
1) $Tomcat_Home\conf\context.xml was changed to:
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name="jdbc/mysql" auth="Container"
type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="db" password="pwd"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/db"/>
</Context>
2) <resource-ref> was added into $Tomcat_Home\webapps\axis2\WEB-INF\web.xml
:
<web-app>
...
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/mysql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
....
</web-app>
wenn i ran the web application, i got the error message:
INFO: Initializing c3p0 pool...
com.mchange.v2.c3p0.poolbackeddatasou...@29fb0733 [ connectionPoolDataSource
-> com.mchange.v2.c3p0.wrapperconnectionpooldatasou...@dd3d444b [
acquireIncrement -> 5, acquireRetryAttempts -> 30, acquireRetryDelay ->
1000, autoCommitOnClose -> false, automaticTestTable -> null,
breakAfterAcquireFailure -> false, checkoutTimeout -> 0,
connectionCustomizerClassName -> null, connectionTesterClassName ->
com.mchange.v2.c3p0.impl.DefaultConnectionTester,
debugUnreturnedConnectionStackTraces -> false, factoryClassLocation -> null,
forceIgnoreUnresolvedTransactions -> false, identityToken ->
1hgeigx859d0cr2vfrvc8|1ba92db, idleConnectionTestPeriod -> 7200,
initialPoolSize -> 10, maxAdministrativeTaskTime -> 0, maxConnectionAge ->
0, maxIdleTime -> 14400, maxIdleTimeExcessConnections -> 0, maxPoolSize ->
100, maxStatements -> 100, maxStatementsPerConnection -> 0, minPoolSize ->
10, nestedDataSource -> com.mchange.v2.c3p0.drivermanagerdatasou...@b33bd229
[ description -> null, driverClass -> null, factoryClassLocation -> null,
identityToken -> 1hgeigx859d0cr2vfrvc8|87ad67, jdbcUrl -> null, properties
-> {useUnicode=true, autocommit=false, characterEncoding=UTF8} ],
preferredTestQuery -> null, propertyCycle -> 0, testConnectionOnCheckin ->
false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0,
usesTraditionalReflectiveProxies -> false; userOverrides: {} ],
dataSourceName -> null, factoryClassLocation -> null, identityToken ->
1hgeigx859d0cr2vfrvc8|15b55bc, numHelperThreads -> 3 ]
23.11.2009 16:51:25
com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector run
WARNUNG:
com.mchange.v2.async.threadpoolasynchronousrunner$deadlockdetec...@170ec24
-- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending
tasks!
23.11.2009 16:51:25
com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector run
WARNUNG:
com.mchange.v2.async.threadpoolasynchronousrunner$deadlockdetec...@170ec24
-- APPARENT DEADLOCK!!! Complete Status:
Managed Threads: 3
Active Threads: 3
Active Tasks:
com.mchange.v2.resourcepool.basicresourcepool$acquiret...@c5d9c1
(com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2)
com.mchange.v2.resourcepool.basicresourcepool$acquiret...@15b4ad2
(com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0)
com.mchange.v2.resourcepool.basicresourcepool$acquiret...@8d3d62
(com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1)
Pending Tasks:
com.mchange.v2.resourcepool.basicresourcepool$acquiret...@b9132a
com.mchange.v2.resourcepool.basicresourcepool$acquiret...@996b65
com.mchange.v2.resourcepool.basicresourcepool$acquiret...@59c8b5
com.mchange.v2.resourcepool.basicresourcepool$acquiret...@881cb3
com.mchange.v2.resourcepool.basicresourcepool$acquiret...@143753
com.mchange.v2.resourcepool.basicresourcepool$acquiret...@13c4c09
com.mchange.v2.resourcepool.basicresourcepool$acquiret...@1a40247
Pool thread stack traces:
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2,5,main]
java.lang.Thread.sleep(Native Method)
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1805)
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0,5,main]
java.lang.Thread.sleep(Native Method)
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1805)
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1,5,main]
java.lang.Thread.sleep(Native Method)
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1805)
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
23.11.2009 16:51:34
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask run
WARNUNG: com.mchange.v2.resourcepool.basicresourcepool$acquiret...@c5d9c1 --
Acquisition Attempt Failed!!! Clearing pending acquires. While trying to
acquire a needed new resource, we failed to succeed more than the maximum
number of allowed acquisition attempts (30). Last acquisition attempt
exception:
java.lang.NullPointerException
at sun.jdbc.odbc.JdbcOdbcDriver.getProtocol(JdbcOdbcDriver.java:507)
at sun.jdbc.odbc.JdbcOdbcDriver.knownURL(JdbcOdbcDriver.java:476)
at sun.jdbc.odbc.JdbcOdbcDriver.acceptsURL(JdbcOdbcDriver.java:307)
at java.sql.DriverManager.getDriver(DriverManager.java:253)
at
com.mchange.v2.c3p0.DriverManagerDataSource.driver(DriverManagerDataSource.java:223)
at
com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:119)
at
com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:143)
at
com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:132)
at
com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
at
com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
at
com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
at
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
at
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
Pid Ster wrote:
>
> On 23/11/2009 13:00, dishmily wrote:
>>
>> i use 3 tomcats in one PC, in each tomcat i have a webservice, for each
>> webservice i use a mysql database.
>>
>> my question is:
>>
>> how can i write a config file in each tomcat to let tomcat1 load DB1,
>> tomcat2 load DB2 and tomcat3 load DB3.
>>
>> thanks.
>
>
> I'm guessing that you're using Tomcat 6.0, because you didn't say.
> The extensive documentation is often a good place to start:
>
> http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html
>
>
> p
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
>
--
View this message in context:
http://old.nabble.com/config-database-in-Tomcat-tp26477627p26480783.html
Sent from the Tomcat - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]