Your jndi lookup isn't correct. You'll need something like the following: osgi:service/javax.sql.DataSource/(osgi.jndi.service.name=jdbc/ WorkflowDataSource)
regards, Achim 2014-04-25 22:28 GMT+02:00 asookazian2 <[email protected]>: > I have the following datasource.xml that is referenced by another xml file > during Spring bootstrap: > > <beans xmlns="http://www.springframework.org/schema/beans" > xmlns:context="http://www.springframework.org/schema/context" > xmlns:tx="http://www.springframework.org/schema/tx" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:jee="http://www.springframework.org/schema/jee" > xsi:schemaLocation="http://www.springframework.org/schema/beans > http://www.springframework.org/schema/beans/spring-beans.xsd > http://www.springframework.org/schema/context > http://www.springframework.org/schema/context/spring-context-2.5.xsd > http://www.springframework.org/schema/tx > http://www.springframework.org/schema/tx/spring-tx-3.0.xsd > http://www.springframework.org/schema/jee > http://www.springframework.org/schema/jee/spring-jee-2.5.xsd"> > > <jee:jndi-lookup id="dataSource" jndi-name="jdbc/WorkflowDataSource"/> > > </beans> > > I am getting the following stack trace on start of the WAB: > > Caused by: org.springframework.beans.factory.BeanCreationException: Error > creating bean with name 'dataSource': Invocation of init method failed; > nested exception is javax.naming.NotContextException: > jdbc/WorkflowDataSource > at > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455) > at > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) > at > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) > at > > org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) > at > > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) > at > > org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) > at > > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) > at > > org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:567) > at > > org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913) > at > > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) > at > > org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) > at > > org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83) > at > > com.nextgate.mm.workflow.ws.server.WorkflowManagerFactory.getInstance(WorkflowManagerFactory.java:17) > at > > com.nextgate.mm.workflow.ws.server.WorkflowManagerWS.<init>(WorkflowManagerWS.java:67) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > Method)[:1.7.0_51] > at > > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)[:1.7.0_51] > at > > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)[:1.7.0_51] > at > java.lang.reflect.Constructor.newInstance(Constructor.java:526)[:1.7.0_51] > at > > org.apache.aries.blueprint.utils.ReflectionUtils.newInstance(ReflectionUtils.java:329) > at > > org.apache.aries.blueprint.container.BeanRecipe.newInstance(BeanRecipe.java:962) > at > > org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:331) > ... 65 more > Caused by: javax.naming.NotContextException: jdbc/WorkflowDataSource > at > > org.apache.xbean.naming.context.AbstractContext.lookup(AbstractContext.java:165) > at > > org.apache.xbean.naming.context.AbstractContext.lookup(AbstractContext.java:605) > at > org.apache.aries.jndi.DelegateContext.lookup(DelegateContext.java:161) > at > javax.naming.InitialContext.lookup(InitialContext.java:411)[:1.7.0_51] > at > org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:154) > at > org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:87) > at > org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:152) > at > org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:178) > at > > org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:104) > at > > org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:105) > at > > org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(JndiObjectFactoryBean.java:201) > at > > org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:187) > at > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514) > at > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452) > > > The datasource.xml is in the karaf deploy directory (with a bundle id less > than the WAB's bundle id): > > <?xml version="1.0" encoding="UTF-8"?> > <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"> > > <bean id="dataSource" > class="com.mysql.jdbc.jdbc2.optional.MysqlDataSource"> > <property name="url" value="jdbc:mysql://localhost:3306/workflow"/> > <property name="user" value="foo"/> > <property name="password" value="bar"/> > </bean> > > <service interface="javax.sql.DataSource" ref="dataSource"> > <service-properties> > <entry key="osgi.jndi.service.name" > value="jdbc/WorkflowDataSource"/> > </service-properties> > </service> > </blueprint> > > Reproduces exception if I embed the XML into the main XML... > > > > > -- > View this message in context: > http://karaf.922171.n3.nabble.com/datasource-jndi-lookup-problem-in-WAB-tp4032971.html > Sent from the Karaf - User mailing list archive at Nabble.com. > -- Apache Karaf <http://karaf.apache.org/> Committer & PMC OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & Project Lead blog <http://notizblog.nierbeck.de/> Software Architect / Project Manager / Scrum Master
