Problemas com pool de conexão no tomcat

E aí galera beleza?

Estou tentando usar um pool de conexão do tomcat e tenho este erro:

Código:
javax.servlet.ServletException: Name redstar is not bound in this Context

Meu Context está assim:

<?xml version='1.0' encoding='utf-8'?> 
&lt;Context docBase="D:\projetos_atuais\redstar" workDir="D:\projetos_atuais\redstar\work"  path="/redstar" reloadable="true" &gt; 

  &lt;Resource name="redstar" 
               auth="Container" 
               type="javax.sql.DataSource"/&gt; 

  &lt;ResourceParams name="redstar"&gt; 
    &lt;parameter&gt; 
      &lt;name&gt;factory&lt;/name&gt; 
      &lt;value&gt;org.apache.commons.dbcp.BasicDataSourceFactory&lt;/value&gt; 
    &lt;/parameter&gt; 

     &lt;parameter&gt; 
      &lt;name&gt;maxActive&lt;/name&gt; 
      &lt;value&gt;100&lt;/value&gt; 
    &lt;/parameter&gt; 

       &lt;parameter&gt; 
      &lt;name&gt;maxIdle&lt;/name&gt; 
      &lt;value&gt;30&lt;/value&gt; 
    &lt;/parameter&gt; 

        &lt;parameter&gt; 
      &lt;name&gt;maxWait&lt;/name&gt; 
      &lt;value&gt;10000&lt;/value&gt; 
    &lt;/parameter&gt; 

       &lt;parameter&gt; 
     &lt;name&gt;username&lt;/name&gt; 
     &lt;value&gt;javauser&lt;/value&gt; 
    &lt;/parameter&gt; 
    &lt;parameter&gt; 
     &lt;name&gt;password&lt;/name&gt; 
     &lt;value&gt;javadude&lt;/value&gt; 
    &lt;/parameter&gt; 


        
        &lt;parameter&gt; 
       &lt;name&gt;driverClassName&lt;/name&gt; 
       &lt;value&gt;com.mysql.jdbc.Driver&lt;/value&gt; 
    &lt;/parameter&gt; 
    
       &lt;parameter&gt; 
      &lt;name&gt;url&lt;/name&gt; 
      &lt;value&gt;jdbc:mysql://localhost:3306/redstarsebo?autoReconnect=true&lt;/value&gt; 
    &lt;/parameter&gt; 
  &lt;/ResourceParams&gt; 

&lt;/Context&gt; 
 

No web.xml está assim:

<?xml version="1.0" encoding="ISO-8859-1"?> 

&lt;!DOCTYPE web-app 
  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" 
  "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"&gt; 

&lt;web-app&gt; 
     &lt;resource-ref&gt; 
      &lt;description&gt;DB Connection&lt;/description&gt; 
      &lt;res-ref-name&gt;redstar&lt;/res-ref-name&gt; 
      &lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt; 
      &lt;res-auth&gt;Container&lt;/res-auth&gt; 
  &lt;/resource-ref&gt; 
  &lt;display-name&gt;Redstar Sebo&lt;/display-name&gt; 
  
    &lt;servlet&gt; 
    &lt;servlet-name&gt;action&lt;/servlet-name&gt; 
    &lt;servlet-class&gt;org.apache.struts.action.ActionServlet&lt;/servlet-class&gt; 
    &lt;init-param&gt; 
      &lt;param-name&gt;config&lt;/param-name&gt; 
      &lt;param-value&gt;/WEB-INF/struts-config.xml&lt;/param-value&gt; 
    &lt;/init-param&gt; 
    &lt;init-param&gt; 
      &lt;param-name&gt;debug&lt;/param-name&gt; 
      &lt;param-value&gt;2&lt;/param-value&gt; 
    &lt;/init-param&gt; 
    &lt;init-param&gt; 
      &lt;param-name&gt;detail&lt;/param-name&gt; 
      &lt;param-value&gt;2&lt;/param-value&gt; 
    &lt;/init-param&gt; 
    &lt;load-on-startup&gt;2&lt;/load-on-startup&gt; 
  &lt;/servlet&gt; 



  &lt;servlet-mapping&gt; 
    &lt;servlet-name&gt;action&lt;/servlet-name&gt; 
    &lt;url-pattern&gt;*.do&lt;/url-pattern&gt; 
  &lt;/servlet-mapping&gt; 



  &lt;welcome-file-list&gt; 
    &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt; 
  &lt;/welcome-file-list&gt; 



  &lt;taglib&gt; 
    &lt;taglib-uri&gt;/tags/struts-bean&lt;/taglib-uri&gt; 
    &lt;taglib-location&gt;/WEB-INF/struts-bean.tld&lt;/taglib-location&gt; 
  &lt;/taglib&gt; 

  &lt;taglib&gt; 
    &lt;taglib-uri&gt;/tags/struts-html&lt;/taglib-uri&gt; 
    &lt;taglib-location&gt;/WEB-INF/struts-html.tld&lt;/taglib-location&gt; 
  &lt;/taglib&gt; 

  &lt;taglib&gt; 
    &lt;taglib-uri&gt;/tags/struts-logic&lt;/taglib-uri&gt; 
    &lt;taglib-location&gt;/WEB-INF/struts-logic.tld&lt;/taglib-location&gt; 
  &lt;/taglib&gt; 

  &lt;taglib&gt; 
    &lt;taglib-uri&gt;/tags/struts-nested&lt;/taglib-uri&gt; 
    &lt;taglib-location&gt;/WEB-INF/struts-nested.tld&lt;/taglib-location&gt; 
  &lt;/taglib&gt; 

  &lt;taglib&gt; 
    &lt;taglib-uri&gt;/tags/struts-tiles&lt;/taglib-uri&gt; 
    &lt;taglib-location&gt;/WEB-INF/struts-tiles.tld&lt;/taglib-location&gt; 
  &lt;/taglib&gt; 

&lt;/web-app&gt; 

E é assim que estou fazendo no dao:


public AdminDAO() throws Exception { 

        if (dataSource == null) { 
            try { 
                InitialContext ic = new InitialContext(); 
                //     se for tomcat 
                dataSource = (DataSource) ic.lookup("redstar");                
            } catch (NamingException ex) { 
                System.out.println(ex.getMessage()); 
                throw ex; 
            } 
        } 
    } 
 

Pelo que analizei não tem nenhum erro. Mas se puderem me ajudar eu agradeço!

To velho e nao me lembro mais direito das coisas, mas que me lembre o nome JNDI de algo referenciado no web.xml sempre comeca com java:comp/env/ .

Cara, já tive esse problema e até discuti aqui no GUJ. Da uma olhada e vê se isso pode ajudar.

http://www.guj.com.br/posts/list/18520.java

Como eu configuro no web.xml?

Do jeito que você fez :slight_smile: A String de lookup é que leva java:comp/env/ na frente. Só não me lembro agora se também era necessário configurar algo mais no Tomcat pra tornar o pool visível para a aplicação web.

Consegui conectar! O login e senha configurados no tomcat estava errados! :oops:
Mas agora o problema é que não consigo nem fazer um select na base. Será que tenho que dar algum tipo de permissão pro tomcat? Mesmo conectando com o owner da base?
Como faço pra armazenar o nome do jndi que está no meu web.xml em uma string?

Alguém pode me ajudar? É urgente.

Olha na documentação do tomcat que tem um exemplo de criação e utilização de um datasource.

Se você der uma pesquisada no fórum também vai achar exemplos:
http://www.guj.com.br/posts/list/21859.java

Já tinha dado uma olhada neste post e a docujmentação do tomcat foi a primeira coisa que vi. Vou continuar tentando aqui e qualquer coisa eu entro em contato.

Está dando algum erro?Não está recuperando o nome JNDI?Qualquer problema postae…