Pool Conexão Tomcat

3 respostas
nandobgi

Bom dia,

Não estou conseguindo configurar corretamente o Tomcat 6 para utilizar um pool de conexões, segue abaixo as configurações.

server.xml

<DefaultContext>
        	<Resource name="jdbc/desenv" auth="Container"
        		type="javax.sql.DataSource" />
        	    <ResourceParams name ="jdbc/desenv">
        	    	<parameter>
        	    		<name>factory</name>
        	    		<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
        	    	</parameter>
        	    	<parameter>
        	    		<name>driverClassName</name>
        	    		<value>oracle.jdbc.driver.OracleDriver</value>
           	    	</parameter>
           	    	<parameter>
        	    		<name>url</name>
        	    		<value>jdbc:oracle:thin:@192.168.250.6:1521:desenv</value>
           	    	</parameter>
           	    		<parameter>
        	    		<name>dbuser</name>
        	    		<value>user</value>
           	    	</parameter>
           	    	<parameter>
        	    		<name>password</name>
        	    		<value>123</value>
           	    	</parameter>
           	    		<parameter>
        	    		<name>maxActive</name>
        	    		<value>20</value>
           	    	</parameter>
           	    		<parameter>
        	    		<name>maxIdle</name>
        	    		<value>10</value>
           	    	</parameter>
           	   		<parameter>
        	    		<name>poolPreparedStatements</name>
        	    		<value>true</value>
           	    	</parameter> 
        	    </ResourceParams>
        </DefaultContext>

no web.xml da app

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

Quando tento recuperar uma conexão no meu managed beam:

@Resource(name="jdbc/desenv")
	private DataSource source;

Recebo a seguinte exception

org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1150)
	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)

Adicionei também o jar de conexão do oracle na pasta /lib do tomcat6.

Obrigado

[ ]'s

3 Respostas

nandobgi

Ninguém?

Ironlynx

Não faço isso há um tempão, mas tu reestartou depois de ter tacado o jar?
Será que mudou tanto em relação ao 5.XXX?
http://www.crazysquirrel.com/computing/java/connection-pooling.jspx

furutani

A sintaxe do server.xml mudou. Agora use algo parecido com isso

<Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" username="username" password="password" driverClassName="org.postgresql.Driver" url="jdbc:postgresql://example.com:1234/myDB" maxWait="1000" removeAbandoned="true" maxActive="30" maxIdle="10" removeAbandonedTimeout="60" logAbandoned="true"/>

Criado 22 de abril de 2008
Ultima resposta 22 de abr. de 2008
Respostas 3
Participantes 3