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: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 
> 
> 

-- 
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: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to