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.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property> > <property > name="hibernate.connection.datasource">java:comp/env/jdbc/MYSQL</property> > <property name="hibernate.show_sql">false</property> > <property name="hibernate.format_sql">false</property> > <property > name="hibernate.current_session_context_class">thread</property> > <property > name="hibernate.cache.provider_class">org.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=1&t=937920&start=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> >>>> >>>> <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 >>>>> >>>>> >>>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >>> For additional commands, e-mail: users-h...@tomcat.apache.org >>> >>> >>> >> > > > --------------------------------------------------------------------- > 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-tp26477627p26494947.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