Pool de conexões

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

MPSV,

Tem coisa errada neste seu código, talvés possa ser isso!

Corrigir esta linha:

ResultSet rs = sql.executeQuery(); 

Esta variavel não estava declarada como String! A não ser que tinha sido declarada em outro lugar e não está aqui no código que vc passou

String nomePool = "jdbc/empregados"; 

Obs: sempre que for mandar um código, coloque dentro de um Code para este ficar mais legível.

ASOBrasil

Voce ta tentando pegar uma conexao do pool do Tomcat em uma aplicacao stand-alone (public static void main)??