Hibernate + MySQL + Pool de Conexões

Pessoal,

Já pesquisei em diversos lugares fiz diversas alterações nas configurações do meu projeto mas vire e mexe dah aquele erro chato de time out do banco de dados.
Gostaria de saber se tem como eu melhorar a configuração do meu banco.

Segue context.xml

<?xml version="1.0" encoding="UTF-8"?>
<Context>
	<!-- ******** BANCO DE DADOS (PRODUÇÃO) ************** -->
	<Resource auth="Container"
		driverClassName="com.mysql.jdbc.Driver"
		initialSize="5" maxActive="100" maxIdle="30" maxWait="10000" minIdle="5"
		name="jdbc/blablabla" 
		type="javax.sql.DataSource"
		url="jdbc:mysql://localhost:3306/blablabla?autoReconnect=true"
		username="user"
		password="senha"
		validationquery="SELECT 1" 
		testonborrow="true" 
		testwhileidle="true" 
		timebetweenevictionrunsmillis="10000" 
		minevictableidletimemillis="60000"
		/>		
			
</Context>

Segue
hibernate.cfg.xml

                <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
		<property name="hibernate.hbm2ddl.auto">validate</property>
		<property name="hibernate.show_sql">true</property>
		<property name="hibernate.cache.use_second_level_cache">true</property>
		<property name="hibernate.cache.use_query_cache">true</property>
		<property name="hibernate.generate_statistics">false</property>
		<property name="hibernate.connection.autocommit">true</property>
		<property name="hibernate.use_outer_join">true</property> 
		<property name="hibernate.connection.autoReconnect">true</property>
		<property name="hibernate.connection.autoReconnectForPools">true</property>
		<property name="c3p0.acquire_increment">1</property>   
		<property name="c3p0.idle_test_period">30</property> <!-- seconds -->   
		<property name="c3p0.max_size">100</property>   
		<property name="c3p0.max_statements">0</property>   
		<property name="c3p0.min_size">10</property>   
		<property name="c3p0.timeout">100</property>

Alguém pra me ajudar por favor?

Posta seu web.xml tbm !

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_4.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" id="WebApp_ID">	
	<display-name>Emprego</display-name>
	
	<distributable/>
	
	<context-param>   
    	<param-name>br.com.caelum.vraptor.encoding</param-name>   
    	<param-value>UTF-8</param-value>   
	</context-param>
	
	<context-param>       
    	<param-name>br.com.caelum.vraptor.packages</param-name>       
        <param-value>   
                 br.com.bronx.vraptor.restrictrex
        </param-value>      
	</context-param>
	
	<!-- Localização do arquivo de configuração do Core -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			/WEB-INF/emprego-context.xml
		</param-value>
	</context-param>

	<!--
		Configuração do Log4J. Para o JBoss, devemos comentar este trecho.
	-->
	<context-param>
		<param-name>log4jConfigLocation</param-name>
		<param-value>
			file:///home/tiempreg/var/brandom/emprego/config/log4j.properties
		</param-value>
	</context-param>
	
	<context-param>
		<param-name>log4jExposeWebAppRoot</param-name>
		<param-value>false</param-value>
	</context-param>

	<!--
		Configuração do Log4J. Para o JBoss, devemos comentar este trecho.
	-->
	<listener>
		<description>Listener para configurar Log4J</description>
		<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
	</listener>

	<!-- Listener para configurar Spring -->
	<listener>
		<description>Listener para configurar Spring</description>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	<!--<listener>
	  <listener-class>br.com.supportcomm.virtualgoods.listener.Agenda</listener-class> 
	</listener>-->
	
	<!-- Servlet que processa as requisições -->
	<servlet>
		<description>Servlet do Emprego</description>
		<display-name>Emprego</display-name>
		<servlet-name>services</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>
				/WEB-INF/appconfig-context.xml
				/WEB-INF/emprego-servlet.xml
			</param-value>
		</init-param>
		<load-on-startup>2</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>services</servlet-name>
		<url-pattern>/services/*</url-pattern>
	</servlet-mapping>
	
	<filter>
		<filter-name>vraptor</filter-name>
		<filter-class>br.com.caelum.vraptor.VRaptor</filter-class>
	</filter>
	
	<filter-mapping>
		<filter-name>vraptor</filter-name>
		<url-pattern>/*</url-pattern>
		<dispatcher>FORWARD</dispatcher>
		<dispatcher>REQUEST</dispatcher>
	</filter-mapping>
	
	<!-- Filtro para aplicar o charset encoding ao request -->
	<filter>
		<filter-name>CharacterEncodingFilter</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
	</filter>

	<filter-mapping>
		<filter-name>CharacterEncodingFilter</filter-name>
		<servlet-name>services</servlet-name>
		<dispatcher>REQUEST</dispatcher>
	</filter-mapping>

	<session-config>
		<session-timeout>300</session-timeout>
	</session-config>

	<resource-ref>
		<res-ref-name>jdbc/blablabla</res-ref-name>
		<res-type>javax.sql.DataSource</res-type>
		<res-auth>Container</res-auth>
	</resource-ref>
		
</web-app>

Creio que possa esta faltando esse trecho de código abaixo:[code]
<context-param>
<param-name>br.com.caelum.vraptor.provider</param-name>
<param-value>br.com.caelum.vraptor.util.hibernate.HibernateCustomProvider</param-value>
</context-param>

&lt;context-param&gt;
	&lt;param-name&gt;br.com.caelum.vraptor.packages&lt;/param-name&gt;
	&lt;param-value&gt;br.com.caelum.vraptor.util.hibernate&lt;/param-value&gt;
&lt;/context-param&gt;[/code]

Testa e responde ai depois !

Vou fazer o teste aqui e respondo.

Obrigado!

Opa, fabio.cbrandao blz ?

Kra, possivelmente seu problemas pode estar na configuração do seu “c3p0”, aumenta seu “c3p0.timeout” de 100 para 3000 e testa ae.

a inclusão desse código no web.xml:

        <context-param>       
    	<param-name>br.com.caelum.vraptor.packages</param-name>       
        <param-value>   
                 br.com.bronx.vraptor.restrictrex,
                 br.com.caelum.vraptor.util.hibernate
        </param-value>
	</context-param>
	
	<context-param>  
	    <param-name>br.com.caelum.vraptor.provider</param-name>  
	    <param-value>br.com.caelum.vraptor.util.hibernate.HibernateCustomProvider</param-value>  
	</context-param>

começou a me ocorrer o seguinte erro ao fazer o start do server:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactoryCreator': Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.hibernate.cfg.AnnotationConfiguration.configure()Lorg/hibernate/cfg/AnnotationConfiguration;
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:133)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1405)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:574)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
	at br.com.caelum.vraptor.ioc.spring.SpringBasedContainer.start(SpringBasedContainer.java:106)
	at br.com.caelum.vraptor.ioc.spring.SpringProvider.start(SpringProvider.java:87)
	at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:108)
	at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:102)
	at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:277)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:382)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:103)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4638)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5294)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556)
	at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoSuchMethodError: org.hibernate.cfg.AnnotationConfiguration.configure()Lorg/hibernate/cfg/AnnotationConfiguration;
	at br.com.caelum.vraptor.util.hibernate.SessionFactoryCreator.create(SessionFactoryCreator.java:43)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:340)
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:293)
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:130)
	... 29 more

vc copiou o codigo errado !