Pessoal estou tentando utilizar pool de conexões, mas estou levando um erro “javax.naming.NoInitialcontextException”.
Crie uma classe com um método main e o context.xml que fica na pasta META-INF do Tomcat. Abaixo segue o cógigo.
Esta classe de teste de pool de conexões apenas irá pegar a hora do Servidor de Banco de Dados e imprir.
Onde estou errando???
context.xm. da META-INF do TomCat:
<?xml version="1.0" encoding="ISO-8859-1"?>WEB-INF/web.xml
META-INF/context.xml
Método main:
import javax.sql.DataSource;
import java.sql.;
import javax.naming.;
import java.util.*;
public class TesteJNDI
{
public static void main(String[] args)
{
try
{
Connection conexao = null;
DataSource pool;
pool = ServicoConexao.getPool();
conexao = pool.getConnection();
PreparedStatement sql;
sql = conexao.prepareStatement(“select sysdate from dual”);
ResultSet = sql.executeQuery();
String dataAtual = rs.getString(1);
System.out.println(“A hora do Servidor e:” +dataAtual);
}
catch (SQLException e)
{
System.err.println(“AAAAAA”);
}
catch (NamingException e)
{
System.err.println("BBBBBB: "+e.toString());
}
catch (MissingResourceException e)
{
System.err.println(“CCCCC”);
}
}
}
Classe sevicoConexao
import javax.naming.;
import javax.sql.DataSource;
import java.util.ResourceBundle;
import java.util.MissingResourceException;
import java.util.;
public class ServicoConexao
{
private static ServicoConexao servico = null;
private DataSource pool = null;
public static DataSource getPool() throws NamingException, MissingResourceException
{
if (servico == null)
{
servico = new ServicoConexao();
}
return servico.pool;
}
private ServicoConexao() throws NamingException, MissingResourceException
{
nomePool = “jdbc/empregados”;
InitialContext ic = new InitialContext();
Context ambiente = (Context) ic.lookup(“java:comp/env”);
pool = (DataSource) ambiente.lookup(nomePool);
}
}
Um grande abraço,
MPSV