estou implementando uma classe q pega uma conexao atraves de um DataSource.
classe
package app.conexao;
import java.sql.Connection;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
import java.sql.SQLException;
/**
* @author cu_ringa
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public final class DBUtil {
private DataSource ds;
public DBUtil(){
try{
Context ctxt = new InitialContext();
Context ct = (Context)ctxt.lookup("java:comp/env");
ds = (DataSource)ct.lookup("jdbc/pechinchadb");
}
catch(Exception ex){
System.err.print("Erro3 ao obter conexao: " + ex.getMessage());
}
}
public Connection getConnection(){
Connection con = null;
try{
con = ds.getConnection();
System.out.println(con);
}
catch(SQLException sqlex){
System.err.print("Erro ao obter conexao: " + sqlex.getMessage());
}
catch(Exception ex){
System.err.print("Erro2 ao obter conexao: " + ex.getMessage());
}
return con;
}
}
o problema q ta dando eh
Erro3 ao obter conexao: Name pechinchadb is not bound in this ContextErro2 ao obter conexao: nullsingleton
09/06/2005 04:32:34 org.apache.struts.action.RequestProcessor processException
WARNING: Unhandled Exception thrown: class java.lang.NullPointerException
O erro q ta dando eh como se eu tivesse implementando o padrao singleton. alguem pode me ajudar??? qnd implementei o DataSource no metodo init de um servlet ele funcionou blz. agora qnd coloquei-o numa classe normal, ai deu pau. pq???
classe de onde chamo o DataSource
public class ClienteDAO {
private Properties props;
private Connection con;
public ClienteDAO(){
DBUtil db = new DBUtil();
con = db.getConnection();
SQLProperties p = SQLProperties.getInstance();
props = p.getSQLProperties();
}
public void salvar(ClienteForm cliente){
PreparedStatement pstmt = null;
try{
pstmt = con.prepareStatement(props.getProperty("insert.users"));
pstmt.clearParameters();
pstmt.setString(1, cliente.getUser_name());
pstmt.setString(2, cliente.getUser_pass());
pstmt.executeUpdate();
pstmt = con.prepareStatement(props.getProperty("insert.user_roles"));
pstmt.clearParameters();
pstmt.setString(1, cliente.getUser_name());
pstmt.setString(2, "cliente");
pstmt.executeUpdate();
}
catch(SQLException sqle){
System.out.println("marujo8");
sqle.printStackTrace();
//erro de conexao
}
}
}