Galera to trabalhando num sistema pra web e ta dando o seguinte erro:
java.lang.ClassCastException
at gov.ipraj.contas.util.serviceLocator.ContaLocator.getDS(ContaLocator.java:46)
at gov.ipraj.contas.util.persistencia.Persistencia.abrirConexao(Persistencia.java:47)
at gov.ipraj.contas.util.persistencia.Persistencia.criarPs(Persistencia.java:108)
at gov.ipraj.contas.util.persistencia.Persistencia.setValue(Persistencia.java:200)
at gov.ipraj.contas.diarias.diaria.DiariaDAO.listar(DiariaDAO.java:119)
at gov.ipraj.contas.diarias.diaria.DiariaRN.listar(DiariaRN.java:367)
Então mizifio, o erro é o mesmo, você só mudou o jeito de chamar, mas está fazendo a mesma coisa:
lDs = (DataSource)lContext.lookup(“java:comp/env/” + pName);
A prigunta é:
O que retorna quando você faz isso: lContext.lookup(“java:comp/env/” + pName)
pode ser considerado um DataSource?
Outra coisa, já experimentou colocar com \ ao invés de ?
R
RafaeldeFreitasSanto
“JavaDrops”:
Então mizifio, o erro é o mesmo, você só mudou o jeito de chamar, mas está fazendo a mesma coisa:
lDs = (DataSource)lContext.lookup(“java:comp/env/” + pName);
A prigunta é:
O que retorna quando você faz isso: lContext.lookup(“java:comp/env/” + pName)
pode ser considerado um DataSource?
Outra coisa, já experimentou colocar com \ ao invés de ?
e ai man, blz? ele retorna o nome do dataSource pra identificar no momento da conexao com o banco… ele retorna exatamente isso: jdbc/CONC?SSIONARIAS
J
JavaDropsPJ
Rafael,
Eu tenho que te confessar que ainda não mexi com banco de dados no Java, então estou dando tiro no escuro (mas às vezes a mira tá certinha).
Olhando teu código, particularmente nesse trecho:
Context lContext = getContext();
lObj = lContext.lookup("java:comp/env/" + pName);
lDs = (DataSource) lObj;
Eu não consegui identificar o que o getContext() faz (não achei na API da 1.4.2 esse método na interface/classe Context). Suponho que é um método que você criou e que, obviamente, retorna um objeto Context.
Então fui dar uma busca por um código parecido nos tutoriais da Sun e achei um da versão 1.5 (ou 5.0, tiger, ou qualquer outro nome que inventarem até a hora que você ler esse post) onde ao invés de getContext() eles usam assim:
Context lContext = new InitialContext(); // adaptado
Eu tenho que te confessar que ainda não mexi com banco de dados no Java, então estou dando tiro no escuro (mas às vezes a mira tá certinha).
Olhando teu código, particularmente nesse trecho:
Context lContext = getContext();
lObj = lContext.lookup("java:comp/env/" + pName);
lDs = (DataSource) lObj;
Eu não consegui identificar o que o getContext() faz (não achei na API da 1.4.2 esse método na interface/classe Context). Suponho que é um método que você criou e que, obviamente, retorna um objeto Context.
Então fui dar uma busca por um código parecido nos tutoriais da Sun e achei um da versão 1.5 (ou 5.0, tiger, ou qualquer outro nome que inventarem até a hora que você ler esse post) onde ao invés de getContext() eles usam assim:
Context lContext = new InitialContext(); // adaptado