Problemas com dbcp utilizando 2 databases

0 respostas
maresp

Estou implementando jakarta-commons-dbcp. Enquanto testei com o postgre funcionou na boa, com o mysql também funcionou, porém quando vou utilizar os dois tive esta excessão:

HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

java.lang.NullPointerException
	at javax.naming.NameImpl.(Unknown Source)
	at javax.naming.CompositeName.(Unknown Source)
	at org.apache.naming.NamingContext.lookup(NamingContext.java:194)
	at br.unipar.avaliacao.model.dao.GenericDAO.conectar(GenericDAO.java:75)
	at br.unipar.avaliacao.model.AvaliacaoImpl.carregarAvaliacao(AvaliacaoImpl.java:37)
	at br.unipar.avaliacao.controller.ServletAvaliacao.carregar(ServletAvaliacao.java:156)
	at br.unipar.avaliacao.controller.ServletAvaliacao.generateResponse(ServletAvaliacao.java:63)
	at br.unipar.avaliacao.controller.ServletAvaliacao.doGet(ServletAvaliacao.java:41)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
...
Estou fazendo a configuração da seguinte forma: server.xml
...
<Context path="/MyDbcp" docBase="c:/webapps/mydbcp"
			reloadable="true" debug="0" crossContext="true">
			
			<Resource name="jdbc/postgres" auth="Container"
          			type="javax.sql.DataSource"/> 

			<ResourceParams name="jdbc/postgres">
			  <parameter>
			    <name>factory</name>
			    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
			  </parameter>
			  <parameter>
			    <name>driverClassName</name>
			    <value>org.postgresql.Driver</value>
			  </parameter>
<!-- mais parâmetros -->
			</ResourceParams> 

			
			<Resource name="jdbc/mysql" auth="Container"
          			type="javax.sql.DataSource"/> 

			<ResourceParams name="jdbc/mysql">
			  <parameter>
			    <name>factory</name>
			    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
			  </parameter>
			  <parameter>
			    <name>driverClassName</name>
			    <value>com.mysql.jdbc.Driver</value>
			  </parameter>
<!-- mais parâmetros -->

			</ResourceParams> 
		</Context>
...
web.xml
<resource-ref>
 		<description>PostgreSQL Data Source</description>
 		<res-ref-name>jdbc/postgres</res-ref-name>
 		<res-type>javax.sql.DataSource</res-type>
 		<res-auth>Container</res-auth>
	</resource-ref>
	
	<resource-ref>
 		<description>MySQL Data Source</description>
 		<res-ref-name>jdbc/mysqll</res-ref-name>		
		<res-type>javax.sql.DataSource</res-type>
 		<res-auth>Container</res-auth>
	</resource-ref>
Aí no meu DAO eu estou fazendo:
initContext = new InitialContext();
		envContext = (Context) initContext.lookup("java:/comp/env");
		ds = (DataSource) envContext.lookup(datasource);

estou lendo datasource é uma String que estou trazendo de um arquivo de properties que terá o valor "jdbc/postgres" ou "jdbc/mysql". Por que não consigo fazer lookup?

Criado 13 de novembro de 2003
Respostas 0
Participantes 1