Re: config database in Tomcat
thank you, it works! there are two factor need to mention: 1) as i used hibernate to create Database-connection before, the connection pool C3P0 was used in hibernate. but when i try to maintain Database-connection through JNDI in tomcat, i donn't need C3P0 anymore. so, i SHOULD delete configuration about C3P0 in hibernate configuration file. The error message i got had something to do with it. 2) I SHOULD add a ResourceLink in the Context.xml, in order to let Hibernate using the global resource, witch is in read only mode. (https://forums.hibernate.org/viewtopic.php?f=1t=937920start=0) ResourceLink name=jdbc/mysql global=jdbc/mysql type=javax.sql.DataSource/ Pid Ster wrote: On 23/11/2009 16:03, dishmily wrote: i have made few changes, but it didn't work. (my project uses tomcat and hibernate.) You didn't mention that before. You need to configure Hibernate to use the DataSource jdbc/mysql that you've created. It doesn't appear to be correctly configured at the moment. You can test that the db connection pool is working: InitialContext ic = new InitialContext(); DataSource ds = (DataSource) ic.lookup(java:comp/env/jdbc/mysql); Connection conn = ds.getConnection(); 1) $Tomcat_Home\conf\context.xml was changed to: This is the default context definition, rather than a web app specific one. Just so you know. To configure it for a specific web app, include a context.xml definition in the META-INF folder of your webapp. p Context WatchedResourceWEB-INF/web.xml/WatchedResource Resource name=jdbc/mysql auth=Container type=javax.sql.DataSource maxActive=100 maxIdle=30 maxWait=1 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 descriptionDB Connection/description res-ref-namejdbc/mysql/res-ref-name res-typejavax.sql.DataSource/res-type res-authContainer/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
Re: config database in Tomcat
is it possible to define SQL Dialects org.hibernate.dialect.MySQLDialect in context.xml in Tomcat? how? thanks. Jens Greven wrote: You can also use c3p0 with Tomcat JNDI, e. g. ?xml version=1.0 encoding=UTF-8? Context path=/SupportPortal Resource name=jdbc/MYSQL auth=Container type=com.mchange.v2.c3p0.ComboPooledDataSource description=DB Connection jdbcUrl=jdbc:mysql://server:3306/mysql?autoReconnect=true driverClass=com.mysql.jdbc.Driver user=root password=password maxPoolSize=20 minPoolSize=1 initialPoolSize=1 acquireIncrement=1 maxConnectionAge=0 maxIdleTime=1800 maxIdleTimeExcessConnections=120 idleConnectionTestPeriod=30 testConnectionOnCheckout=true connectionCustomizerClassName=de.pma.dbobjects.DefaultConnectionCustomizer factory=org.apache.naming.factory.BeanFactory / /Context and a hibernate config file like: ?xml version=1.0 encoding=UTF-8? !DOCTYPE hibernate-configuration PUBLIC -//Hibernate/Hibernate Configuration DTD 3.0//EN http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd; hibernate-configuration session-factory property name=hibernate.dialectorg.hibernate.dialect.MySQL5InnoDBDialect/property property name=hibernate.connection.datasourcejava:comp/env/jdbc/MYSQL/property property name=hibernate.show_sqlfalse/property property name=hibernate.format_sqlfalse/property property name=hibernate.current_session_context_classthread/property property name=hibernate.cache.provider_classorg.hibernate.cache.NoCacheProvider/property /session-factory /hibernate-configuration dishmily schrieb: thank you, it works! there are two factor need to mention: 1) as i used hibernate to create Database-connection before, the connection pool C3P0 was used in hibernate. but when i try to maintain Database-connection through JNDI in tomcat, i donn't need C3P0 anymore. so, i SHOULD delete configuration about C3P0 in hibernate configuration file. The error message i got had something to do with it. 2) I SHOULD add a ResourceLink in the Context.xml, in order to let Hibernate using the global resource, witch is in read only mode. (https://forums.hibernate.org/viewtopic.php?f=1t=937920start=0) ResourceLink name=jdbc/mysql global=jdbc/mysql type=javax.sql.DataSource/ Pid Ster wrote: On 23/11/2009 16:03, dishmily wrote: i have made few changes, but it didn't work. (my project uses tomcat and hibernate.) You didn't mention that before. You need to configure Hibernate to use the DataSource jdbc/mysql that you've created. It doesn't appear to be correctly configured at the moment. You can test that the db connection pool is working: InitialContext ic = new InitialContext(); DataSource ds = (DataSource) ic.lookup(java:comp/env/jdbc/mysql); Connection conn = ds.getConnection(); 1) $Tomcat_Home\conf\context.xml was changed to: This is the default context definition, rather than a web app specific one. Just so you know. To configure it for a specific web app, include a context.xml definition in the META-INF folder of your webapp. p Context WatchedResourceWEB-INF/web.xml/WatchedResource Resource name=jdbc/mysql auth=Container type=javax.sql.DataSource maxActive=100 maxIdle=30 maxWait=1 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 descriptionDB Connection/description res-ref-namejdbc/mysql/res-ref-name res-typejavax.sql.DataSource/res-type res-authContainer/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
config database in Tomcat
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. -- View this message in context: http://old.nabble.com/config-database-in-Tomcat-tp26477627p26477627.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
Re: config database in Tomcat
thanks. the tomcat i use is Tomcat 6.0. i will have a look at the URL. 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-tp26477627p26478248.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
Re: config database in Tomcat
: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