Thanks for the help. I just tried it and it still does work.

Here is the exact content of my current server.xml and my context.xml 

Server.xml:

<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">

  <Listener className="org.apache.catalina.core.AprLifecycleListener"
SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JasperListener" />
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
/>
  <Listener
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

  <GlobalNamingResources>
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />

    <Resource name="jdbc/workout_logger" auth="Container"
type="javax.sql.DataSource"
               maxActive="100" maxIdle="30" maxWait="10000"
               username="user" password="password"
driverClassName="com.mysql.jdbc.Driver"
              
url="jdbc:mysql://localhost:3306/workout_logging?autoReconnect=true"/>

  </GlobalNamingResources>

  <Service name="Catalina">
    <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

    <Engine name="Catalina" defaultHost="localhost">

      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
      </Host>

    </Engine>
  </Service>
</Server>



Context.xml

<?xml version='1.0' encoding='utf-8'?>
<Context>

    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <ResourceLink name="jdbc/workout_logger" global="jdbc/workout_logger"/>

</Context>



I check and my db user "user" has full access to the DB it's trying to use.
Is it possible that I am missing a library or something in the classpath of
tomcat? I already have the mysql connector library ( I had my DB connections
working fine without datasources before, but I am trying to switch to using
datasources).

Thanks again

Arturo




Filip Hanik - Dev Lists wrote:
> 
> put this
> 
>  <Resource name="jdbc/workout_logger
> " auth="Container"
>    type="javax.sql.DataSource"
>    maxActive="100" maxIdle="30" maxWait="10000"
>    username="user" password="password"
>    driverClassName="com.mysql.jdbc.Driver"
>    url="jdbc:mysql://localhost:3306/database_name?autoReconnect=true"/>
> 
> inside the <GlobalNamingResources> in server.xml
> 
> Put this
> 
>  <ResourceLink name="jdbc/workout_logger" global="jdbc/workout_logger"/>
> 
> inside the <Context> elemement in conf/context.xml
> 
> 
> and try again
> 
> Filip
> 
> arturoguedez wrote:
>> hey, sorry about that. The actual string I have in my app is
>> "workout_logger"
>> I just tried to replace my strings for "my_jdbc_name" for the posting. I
>> guess I forgot to rename the in the error.
>>
>> other than that, do you see anything else wrong?
>>
>>
>>
>> Filip Hanik - Dev Lists wrote:
>>   
>>> here is the name you specify
>>>
>>> <res-ref-name>jdbc/my_jdbc_name</res-ref-name>
>>>
>>> and here is your error
>>> Could not find datasource:jdbc/workout_logger
>>>
>>> as you can see, somewhere you have configured the string workout_logger, 
>>> and that one doesn't exist
>>>
>>> Filip
>>>
>>> arturoguedez wrote:
>>>     
>>>> Hi!
>>>>
>>>> I have been reading how to setup datasources for Tomcat 6.0.18 in
>>>> http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html
>>>> and nothing I have done has allowed my web application to view the
>>>> datasource i have created.
>>>>
>>>> Here are some snippets of my web.xml, and my server.xml 
>>>>
>>>> In the web.xml
>>>>
>>>> <resource-ref>
>>>>         <description>DB Connection</description>
>>>>         <res-ref-name>jdbc/my_jdbc_name</res-ref-name>
>>>>         <res-type>javax.sql.DataSource</res-type>
>>>>         <res-auth>Container</res-auth>
>>>> </resource-ref>
>>>>
>>>> In server.xml
>>>> I have tried to place the following snip it anywhere I saw in the docs
>>>> it
>>>> could belong to (ei, in the GlobalNamingResources, inside the Host tag,
>>>> or
>>>> inside the Context tag in all possible locations (under
>>>> META-INF/context.xml, under
>>>> $CATALINA_BASE/conf/[engine]/[host]/[path].xml)
>>>> and I haven't been successful.
>>>>
>>>>  <Resource name="jdbc/my_jdbc_name" auth="Container"
>>>> type="javax.sql.DataSource"
>>>>                maxActive="100" maxIdle="30" maxWait="10000"
>>>>                username="user" password="password"
>>>> driverClassName="com.mysql.jdbc.Driver"
>>>>               
>>>> url="jdbc:mysql://localhost:3306/database_name?autoReconnect=true"/>
>>>>
>>>>
>>>> I am using Entity Managers to get my connections opened, here is the
>>>> snip
>>>> it
>>>> of my persistence.xml
>>>>
>>>>        <persistence-unit name="my_pu_name"
>>>> transaction-type="RESOURCE_LOCAL">
>>>>            <non-jta-data-source>jdbc/my_jdbc_name</non-jta-data-source>
>>>>    </persistence-unit>
>>>>
>>>> Here is what I get in my tomcat logs:
>>>>
>>>> 08/12/21 17:32:17 ERROR ceConnectionProvider: Could not find
>>>> datasource:
>>>> jdbc/workout_logger
>>>> javax.naming.NameNotFoundException: Name jdbc is not bound in this
>>>> Context
>>>>    at org.apache.naming.NamingContext.lookup(NamingContext.java:770)
>>>>    at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
>>>>    at org.apache.naming.SelectorContext.lookup(SelectorContext.java:137)
>>>>    at javax.naming.InitialContext.lookup(InitialContext.java:392)
>>>>    at
>>>> org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:75)
>>>>    at
>>>> org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:137)
>>>>    at
>>>> org.hibernate.ejb.InjectionSettingsFactory.createConnectionProvider(InjectionSettingsFactory.java:29)
>>>>    at
>>>> org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:89)
>>>>    at
>>>> org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2101)
>>>>    at
>>>> org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1325)
>>>>    at
>>>> org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
>>>>    at
>>>> org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
>>>>    at
>>>> org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:126)
>>>>    at
>>>> javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:52)
>>>> ....
>>>>
>>>>
>>>>
>>>> Does anybody know what I am doing wrong? Is there any way to check
>>>> which
>>>> resources Tomcat makes avaiable? I am having a really hard time
>>>> understanding what I am doing wrong.
>>>>   
>>>>       
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>>
>>>
>>>
>>>     
>>
>>   
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Tomcat-6-JDBC-connection-not-found-tp21120259p21148969.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to