Community » Forums » Spring - General > JDBC not bound in this context
April 16, 2010 10:21:27 AM PDT (20 weeks ago). Seen 454 times.
Photo Roberto Edrosa
Java Application Developer
Fresenius Medical Care
Member since Mar 19, 2010
Location: Walnut Creek
Posts: 3
Hello Sasa,

Am getting JDBC not bound in this context when trying to run the sforums-spring-hibernate project. Could you please help me get this web app running?

Thanks,
Bobby

Code:

C:\Users\HyperCare>catalina.bat run
Using CATALINA_BASE: "F:\apache-tomcat-6.0.26"
Using CATALINA_HOME: "F:\apache-tomcat-6.0.26"
Using CATALINA_TMPDIR: "F:\apache-tomcat-6.0.26\temp"
Using JRE_HOME: "C:\Program Files\Java\jdk1.6.0_18"
Using CLASSPATH: "F:\apache-tomcat-6.0.26\bin\bootstrap.jar"
Apr 16, 2010 10:13:13 AM org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.20.
Apr 16, 2010 10:13:13 AM org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
Apr 16, 2010 10:13:15 AM org.apache.coyote.http11.Http11AprProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Apr 16, 2010 10:13:15 AM org.apache.coyote.ajp.AjpAprProtocol init
INFO: Initializing Coyote AJP/1.3 on ajp-8009
Apr 16, 2010 10:13:15 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1992 ms
Apr 16, 2010 10:13:15 AM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Apr 16, 2010 10:13:15 AM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.26
Apr 16, 2010 10:13:15 AM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor host-manager.xml
Apr 16, 2010 10:13:15 AM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor manager.xml
Apr 16, 2010 10:13:15 AM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor sforums-spring-hibernate.xml
2010-04-16 10:13:16,732 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initial
ization started
2010-04-16 10:13:16,825 [main] INFO org.springframework.web.context.support.XmlWebApplicationContext - Refreshing org.s
pringframework.web.context.support.XmlWebApplicationContext@1428ea: display name [Root WebApplicationContext]; startup d
ate [Fri Apr 16 10:13:16 PDT 2010]; root of context hierarchy
2010-04-16 10:13:17,044 [main] INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean de
finitions from ServletContext resource [/WEB-INF/applicationContext.xml]
2010-04-16 10:13:17,605 [main] INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean de
finitions from ServletContext resource [/WEB-INF/spring-validators.xml]
2010-04-16 10:13:17,668 [main] INFO org.springframework.web.context.support.XmlWebApplicationContext - Bean factory for
application context [org.springframework.web.context.support.XmlWebApplicationContext@1428ea]: org.springframework.bean
s.factory.support.DefaultListableBeanFactory@1049d3
2010-04-16 10:13:18,183 [main] INFO org.springframework.beans.factory.support.DefaultListableBeanFactory - Pre-instanti
ating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1049d3: defining beans [org.spr
ingframework.context.annotation.internalPersistenceAnnotationProcessor,org.springframework.context.annotation.internalCo
mmonAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.
context.annotation.internalRequiredAnnotationProcessor,messageSource,dataSource,sessionFactory,txManager,org.springframe
work.aop.config.internalAutoProxyCreator,org.springframework.transaction.annotation.AnnotationTransactionAttributeSource
#0,org.springframework.transaction.interceptor.TransactionInterceptor#0,org.springframework.transaction.config.internalT
ransactionAdvisor,daoRepository,userValidator,changeablePasswordUserValidator]; root of factory hierarchy
2010-04-16 10:13:18,198 [main] INFO org.springframework.beans.factory.support.DefaultListableBeanFactory - Destroying s
ingletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1049d3: defining beans [org.springfram
ework.context.annotation.internalPersistenceAnnotationProcessor,org.springframework.context.annotation.internalCommonAnn
otationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context
.annotation.internalRequiredAnnotationProcessor,messageSource,dataSource,sessionFactory,txManager,org.springframework.ao
p.config.internalAutoProxyCreator,org.springframework.transaction.annotation.AnnotationTransactionAttributeSource#0,org.
springframework.transaction.interceptor.TransactionInterceptor#0,org.springframework.transaction.config.internalTransact
ionAdvisor,daoRepository,userValidator,changeablePasswordUserValidator]; root of factory hierarchy
2010-04-16 10:13:18,276 [main] ERROR org.springframework.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource': Invocation of init
method failed; nested exception is javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireC
apableBeanFactory.java:1337)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCap
ableBeanFactory.java:473)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBea
nFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapab
leBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegis
try.java:221)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListable
BeanFactory.java:423)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplic
ationContext.java:729)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3972)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:519)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: 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.factory.ResourceLinkFactory.getObjectInstance(ResourceLinkFactory.java:97)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
at org.apache.naming.NamingContext.lookup(NamingContext.java:793)
at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
at org.apache.naming.SelectorContext.lookup(SelectorContext.java:152)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:155)
at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:88)
at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:153)
at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:178)
at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:95)
at org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:105)
at org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(JndiObjectFactoryBean.java:200)
at org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:186)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowi
reCapableBeanFactory.java:1368)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireC
apableBeanFactory.java:1334)
... 39 more
Apr 16, 2010 10:13:18 AM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
Apr 16, 2010 10:13:18 AM org.apache.catalina.core.StandardContext start
SEVERE: Context [/sforums-spring-hibernate] startup failed due to previous errors
Apr 16, 2010 10:13:18 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory docs
Apr 16, 2010 10:13:18 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory examples
Apr 16, 2010 10:13:19 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory ROOT
Apr 16, 2010 10:13:19 AM org.apache.coyote.http11.Http11AprProtocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Apr 16, 2010 10:13:19 AM org.apache.coyote.ajp.AjpAprProtocol start
INFO: Starting Coyote AJP/1.3 on ajp-8009
Apr 16, 2010 10:13:19 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 4214 ms
Edited one time. Last edit by Roberto Edrosa on Jun 15, 2010 at 1:10:25 AM (about 11 weeks ago).
April 16, 2010 10:24:43 AM PDT (20 weeks ago)
Photo Aleksandar Gargenta
Partner
Marakana, Inc.
Member since Jan 19, 2007
Location: San Francisco
Posts: 78
Bobby,

Make sure that you have sforums-spring-hibernate/WebContent/META-INF/context.xml file properly deployed as tomcat/conf/Cataliana/localhost/sforums-spring-hibernate.xml. Tomcat should do this automatically.

Also make sure that you have the MySQL JDBC driver loaded under tomcat/lib/ directory.

Finally, try re-deploying you application and restarting Tomcat.

Let me know how it goes.

Cheers,
Sasa
April 16, 2010 11:33:48 AM PDT (20 weeks ago)
Photo Roberto Edrosa
Java Application Developer
Fresenius Medical Care
Member since Mar 19, 2010
Location: Walnut Creek
Posts: 3
Hello Sasa,

The sforums-spring-hibernate.xml is deployed in tomcat/conf/Catalina/localhost and the MySQL JDBC driver is in tomcat/lib directory. Redeploying application and restarting Tomcat produced the same problem.

Thanks,
Bobby
April 16, 2010 2:40:41 PM PDT (20 weeks ago)
Photo Aleksandar Gargenta
Partner
Marakana, Inc.
Member since Jan 19, 2007
Location: San Francisco
Posts: 78
Oh, now I remember.

If you look into sforums-spring-hibernate/WebContent/META-INF/context.xml file, you'll notice that the datatabase-connection-pool resource is commented-out because you are supposed to move it to Tomcat's conf/server.xml file.

Specifically, you'll need to add the following to that file:

conf/server.xml:

<Server ...>
...
<GlobalNamingResources>
...
<Resource name="jdbc/sforums" type="javax.sql.DataSource"
auth="Container" maxActive="20" maxIdle="5" maxWait="5000"
username="sforums" password="secret"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/sforums" />

</GlobalNamingResources>
...
</Server>
April 16, 2010 3:56:07 PM PDT (20 weeks ago)
Photo Roberto Edrosa
Java Application Developer
Fresenius Medical Care
Member since Mar 19, 2010
Location: Walnut Creek
Posts: 3
Hello Sasa,

It works like a charm! Thanks a lot!

Bobby