Looking up jdbc/WSO2CarbonDB as it is does not work. All the datasources
are registered under the JNDI context java:comp/env. So, if your jndi key
is jdbc/WSO2CarbonDB, then it can be found at java:comp/env /jdbc/WSO2Ca
rbonDB.

This ambiguity is coming from JNDI itself. See [1] for a detailed
explanation if required.

[1] http://stackoverflow.com/a/4099163/388714

On Fri, Dec 2, 2016 at 5:01 PM, wenxing zheng <wenxing.zh...@gmail.com>
wrote:

> Thanks to Manuri. I will have a try later and update here.
>
> On Fri, Dec 2, 2016 at 1:25 PM, Manuri Amaya Perera <manu...@wso2.com>
> wrote:
>
>> Hi Wenxing,
>>
>> Did you try prepending "java:comp/env/" to your JNDI name where you use
>> it inside the webapp. (eg: java:comp/env/jdbc/WSO2CarbonDB).
>>
>> Thanks,
>> Manuri
>>
>> On Fri, Dec 2, 2016 at 8:47 AM, wenxing zheng <wenxing.zh...@gmail.com>
>> wrote:
>>
>>> I fixed the issue with a workaround by introducing a
>>> ServletContextListener in order to first create my singleton object:
>>> MasterDataSource.java -> the object will get the DataSource as a shared
>>> object.
>>>
>>> But I am still confused why it didn't work without my workaround.
>>>
>>>
>>> On Thu, Dec 1, 2016 at 6:59 PM, wenxing zheng <wenxing.zh...@gmail.com>
>>> wrote:
>>>
>>>> Please kindly advice how to fix this issue as it blocked our work.
>>>>
>>>> Note: we are working on AS 5.3.0 and it's a WEB application.
>>>>
>>>> Thank you very much
>>>> Regards, Wenxing
>>>>
>>>> On Thu, Dec 1, 2016 at 4:10 PM, wenxing zheng <wenxing.zh...@gmail.com>
>>>> wrote:
>>>>
>>>>> Hello all,
>>>>>
>>>>> How to make sure the ConfigurationContextService is Active whenever I
>>>>> need to access to the DataSource? Is there any way to make it?
>>>>>
>>>>> Thanks, Wenxing
>>>>>
>>>>> On Wed, Nov 30, 2016 at 3:11 PM, wenxing zheng <
>>>>> wenxing.zh...@gmail.com> wrote:
>>>>>
>>>>>> Hi Maduranga,
>>>>>>
>>>>>> In the wso2as-5.3.0\repository\conf\datasources\master-datasources.xml,
>>>>>> I do find a jndiConfig item:
>>>>>> [image: Inline image 1]
>>>>>>
>>>>>> Is the problem related with the post [1].
>>>>>>
>>>>>> [1]: http://wso2.markmail.org/search/?q=list%3Aorg.wso2.dev+
>>>>>> failed+to+get+WSO2+data+source%3A+Name+%5Bjdbc%2FWSO2CarbonD
>>>>>> B%5D+is+not+bound+in+this+Context#query:list%3Aorg.wso2.dev%
>>>>>> 20failed%20to%20get%20WSO2%20data%20source%3A%20Name%20%5Bjd
>>>>>> bc%2FWSO2CarbonDB%5D%20is%20not%20bound%20in%20this%20Contex
>>>>>> t+page:1+mid:rzmyfyyqvnf4h7w2+state:results
>>>>>>
>>>>>> Thanks, Wenxing
>>>>>>
>>>>>> On Wed, Nov 30, 2016 at 1:36 PM, Maduranga Siriwardena <
>>>>>> madura...@wso2.com> wrote:
>>>>>>
>>>>>>> Hi wenxing,
>>>>>>>
>>>>>>> Have you defined a datasource in any of the xml files in
>>>>>>> <CARBON_HOME>/repository/conf/datasources folder with jndi name as
>>>>>>> jdbc/WSO2CarbonDB like below?
>>>>>>>
>>>>>>> <jndiConfig>
>>>>>>>        <name>jdbc/WSO2CarbonDB</name>
>>>>>>> </jndiConfig>
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Maduranga.
>>>>>>>
>>>>>>> On Wed, Nov 30, 2016 at 9:56 AM, Rajith Roshan <raji...@wso2.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> Once the server is started (ConfigurationContextService is active)
>>>>>>>> you should be able to get the datasources as below. All the jndi 
>>>>>>>> configs
>>>>>>>> should be bound to context by then.
>>>>>>>>
>>>>>>>> Context ctx = new InitialContext();
>>>>>>>> dataSource = (DataSource) ctx.lookup(dataSourceName);
>>>>>>>>
>>>>>>>>
>>>>>>>> Thanks!
>>>>>>>>
>>>>>>>> Rajith
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Nov 30, 2016 at 7:22 AM, wenxing zheng <
>>>>>>>> wenxing.zh...@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> Dear all,
>>>>>>>>>
>>>>>>>>> I met with an issue in getting the JNDI datasource with the
>>>>>>>>> callstack below. Appreciated for any hint on this problem:
>>>>>>>>>
>>>>>>>>> AS: 5.3.0
>>>>>>>>> javax.naming.NameNotFoundException: Name [jdbc/WSO2CarbonDB] is
>>>>>>>>> not bound in this Context. Unable to find [jdbc].
>>>>>>>>>         at org.apache.naming.NamingContex
>>>>>>>>> t.lookup(NamingContext.java:819)
>>>>>>>>>         at org.apache.naming.NamingContex
>>>>>>>>> t.lookup(NamingContext.java:167)
>>>>>>>>>         at org.wso2.carbon.tomcat.jndi.Ca
>>>>>>>>> rbonSelectorContext.lookup(CarbonSelectorContext.java:67)
>>>>>>>>>         at org.wso2.carbon.context.intern
>>>>>>>>> al.CarbonContextDataHolder$CarbonInitialJNDIContext.lookup(C
>>>>>>>>> arbonContextDataHolder.java:705)
>>>>>>>>>         at javax.naming.InitialContext.lo
>>>>>>>>> okup(InitialContext.java:411)
>>>>>>>>>         at test.das.server.dao.common.Mas
>>>>>>>>> terDataSource.createDataSource(MasterDataSource.java:20)
>>>>>>>>>         at test.das.server.dao.common.Mas
>>>>>>>>> terDataSource.getDataSource(MasterDataSource.java:30)
>>>>>>>>>         at test.das.server.dao.common.Com
>>>>>>>>> monDao.getDBConnection(CommonDao.java:21)
>>>>>>>>>         at test.das.server.dao.users.Grou
>>>>>>>>> pDao.getGroupsByUserID(GroupDao.java:224)
>>>>>>>>>         at test.das.server.usermgt.users.
>>>>>>>>> utility.TestGroupMgt.populateUserGroup(TestGroupMgt.java:53)
>>>>>>>>>         at test.das.server.usermgt.users.
>>>>>>>>> utility.TestUserMgt.populateUserDetails(TestUserMgt.java:222)
>>>>>>>>>         at test.das.server.usermgt.users.
>>>>>>>>> services.UserServiceImpl.updateUser(UserServiceImpl.java:107)
>>>>>>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>>>>>>> Method)
>>>>>>>>>         at sun.reflect.NativeMethodAccess
>>>>>>>>> orImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>>>>>>         at sun.reflect.DelegatingMethodAc
>>>>>>>>> cessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>>>>         at java.lang.reflect.Method.invoke(Method.java:606)
>>>>>>>>>         at org.apache.cxf.service.invoker
>>>>>>>>> .AbstractInvoker.performInvocation(AbstractInvoker.java:188)
>>>>>>>>>         at org.apache.cxf.service.invoker
>>>>>>>>> .AbstractInvoker.invoke(AbstractInvoker.java:104)
>>>>>>>>>         at org.apache.cxf.jaxrs.JAXRSInvo
>>>>>>>>> ker.invoke(JAXRSInvoker.java:204)
>>>>>>>>>         at org.apache.cxf.jaxrs.JAXRSInvo
>>>>>>>>> ker.invoke(JAXRSInvoker.java:101)
>>>>>>>>>         at org.apache.cxf.interceptor.Ser
>>>>>>>>> viceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
>>>>>>>>>         at org.apache.cxf.interceptor.Ser
>>>>>>>>> viceInvokerInterceptor.handleMessage(ServiceInvokerIntercept
>>>>>>>>> or.java:94)
>>>>>>>>>         at org.apache.cxf.phase.PhaseInte
>>>>>>>>> rceptorChain.doIntercept(PhaseInterceptorChain.java:272)
>>>>>>>>>         at org.apache.cxf.transport.Chain
>>>>>>>>> InitiationObserver.onMessage(ChainInitiationObserver.java:121)
>>>>>>>>>         at org.apache.cxf.transport.http.
>>>>>>>>> AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:249)
>>>>>>>>>         at org.apache.cxf.transport.servl
>>>>>>>>> et.ServletController.invokeDestination(ServletController.java:248)
>>>>>>>>>         at org.apache.cxf.transport.servl
>>>>>>>>> et.ServletController.invoke(ServletController.java:222)
>>>>>>>>>         at org.apache.cxf.transport.servl
>>>>>>>>> et.ServletController.invoke(ServletController.java:153)
>>>>>>>>>         at org.apache.cxf.transport.servl
>>>>>>>>> et.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171)
>>>>>>>>>         at org.apache.cxf.transport.servl
>>>>>>>>> et.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:289)
>>>>>>>>>         at org.apache.cxf.transport.servl
>>>>>>>>> et.AbstractHTTPServlet.doPut(AbstractHTTPServlet.java:226)
>>>>>>>>>         at javax.servlet.http.HttpServlet
>>>>>>>>> .service(HttpServlet.java:649)
>>>>>>>>>         at org.apache.cxf.transport.servl
>>>>>>>>> et.AbstractHTTPServlet.service(AbstractHTTPServlet.java:265)
>>>>>>>>>         at org.apache.catalina.core.Appli
>>>>>>>>> cationFilterChain.internalDoFilter(ApplicationFilterChain.ja
>>>>>>>>> va:303)
>>>>>>>>>         at org.apache.catalina.core.Appli
>>>>>>>>> cationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>>>>>>>>         at org.apache.tomcat.websocket.se
>>>>>>>>> rver.WsFilter.doFilter(WsFilter.java:52)
>>>>>>>>>         at org.apache.catalina.core.Appli
>>>>>>>>> cationFilterChain.internalDoFilter(ApplicationFilterChain.ja
>>>>>>>>> va:241)
>>>>>>>>>         at org.apache.catalina.core.Appli
>>>>>>>>> cationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>>>>>>>>         at test.das.server.olap.SaikuFilt
>>>>>>>>> er.doFilter(SaikuFilter.java:24)
>>>>>>>>>         at org.apache.catalina.core.Appli
>>>>>>>>> cationFilterChain.internalDoFilter(ApplicationFilterChain.ja
>>>>>>>>> va:241)
>>>>>>>>>         at org.apache.catalina.core.Appli
>>>>>>>>> cationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>>>>>>>>         at org.apache.catalina.filters.Co
>>>>>>>>> rsFilter.handleSimpleCORS(CorsFilter.java:302)
>>>>>>>>>         at org.apache.catalina.filters.Co
>>>>>>>>> rsFilter.doFilter(CorsFilter.java:170)
>>>>>>>>>         at org.apache.catalina.core.Appli
>>>>>>>>> cationFilterChain.internalDoFilter(ApplicationFilterChain.ja
>>>>>>>>> va:241)
>>>>>>>>>         at org.apache.catalina.core.Appli
>>>>>>>>> cationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>>>>>>>>         at org.apache.catalina.core.Stand
>>>>>>>>> ardWrapperValve.invoke(StandardWrapperValve.java:220)
>>>>>>>>>         at org.apache.catalina.core.Stand
>>>>>>>>> ardContextValve.invoke(StandardContextValve.java:122)
>>>>>>>>>         at org.apache.catalina.authentica
>>>>>>>>> tor.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
>>>>>>>>>         at org.apache.catalina.core.Stand
>>>>>>>>> ardHostValve.invoke(StandardHostValve.java:170)
>>>>>>>>>         at org.apache.catalina.valves.Err
>>>>>>>>> orReportValve.invoke(ErrorReportValve.java:103)
>>>>>>>>>         at org.wso2.carbon.statistics.web
>>>>>>>>> app.RequestIntercepterValve.invoke(RequestIntercepterValve.j
>>>>>>>>> ava:47)
>>>>>>>>>         at org.wso2.carbon.bam.webapp.sta
>>>>>>>>> t.publisher.WebAppStatisticPublisherValve.invoke(WebAppStati
>>>>>>>>> sticPublisherValve.java:104)
>>>>>>>>>         at org.wso2.carbon.tomcat.ext.val
>>>>>>>>> ves.CompositeValve.continueInvocation(CompositeValve.java:99)
>>>>>>>>>         at org.wso2.carbon.tomcat.ext.val
>>>>>>>>> ves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
>>>>>>>>>         at org.wso2.carbon.webapp.mgt.Ten
>>>>>>>>> antLazyLoaderValve.invoke(TenantLazyLoaderValve.java:57)
>>>>>>>>>         at org.wso2.carbon.tomcat.ext.val
>>>>>>>>> ves.TomcatValveContainer.invokeValves(TomcatValveContainer.j
>>>>>>>>> ava:47)
>>>>>>>>>         at org.wso2.carbon.tomcat.ext.val
>>>>>>>>> ves.CompositeValve.invoke(CompositeValve.java:62)
>>>>>>>>>         at org.wso2.carbon.tomcat.ext.val
>>>>>>>>> ves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThread
>>>>>>>>> DetectionValve.java:159)
>>>>>>>>>         at org.apache.catalina.valves.Acc
>>>>>>>>> essLogValve.invoke(AccessLogValve.java:950)
>>>>>>>>>         at org.wso2.carbon.tomcat.ext.val
>>>>>>>>> ves.CarbonContextCreatorValve.invoke(CarbonContextCreatorVal
>>>>>>>>> ve.java:57)
>>>>>>>>>         at org.apache.catalina.core.Stand
>>>>>>>>> ardEngineValve.invoke(StandardEngineValve.java:116)
>>>>>>>>>         at org.apache.catalina.connector.
>>>>>>>>> CoyoteAdapter.service(CoyoteAdapter.java:421)
>>>>>>>>>         at org.apache.coyote.http11.Abstr
>>>>>>>>> actHttp11Processor.process(AbstractHttp11Processor.java:1074)
>>>>>>>>>         at org.apache.coyote.AbstractProt
>>>>>>>>> ocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
>>>>>>>>>         at org.apache.tomcat.util.net.Nio
>>>>>>>>> Endpoint$SocketProcessor.doRun(NioEndpoint.java:1739)
>>>>>>>>>         at org.apache.tomcat.util.net.Nio
>>>>>>>>> Endpoint$SocketProcessor.run(NioEndpoint.java:1698)
>>>>>>>>>         at java.util.concurrent.ThreadPoo
>>>>>>>>> lExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>>>         at java.util.concurrent.ThreadPoo
>>>>>>>>> lExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>>>         at org.apache.tomcat.util.threads
>>>>>>>>> .TaskThread$WrappingRunnable.run(TaskThread.java:61)
>>>>>>>>>         at java.lang.Thread.run(Thread.java:745)
>>>>>>>>>
>>>>>>>>> Thanks, Wenxing
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Dev mailing list
>>>>>>>>> Dev@wso2.org
>>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Rajith Roshan
>>>>>>>> Software Engineer, WSO2 Inc.
>>>>>>>> Mobile: +94-72-642-8350 <%2B94-71-554-8430>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Dev mailing list
>>>>>>>> Dev@wso2.org
>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Maduranga Siriwardena
>>>>>>> Software Engineer
>>>>>>> WSO2 Inc; http://wso2.com/
>>>>>>>
>>>>>>> Email: madura...@wso2.com
>>>>>>> Mobile: +94718990591 <+94%2071%20899%200591>
>>>>>>> Blog: http://madurangasblogs.blogspot.com/
>>>>>>> <http://wso2.com/signature>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>> _______________________________________________
>>> Dev mailing list
>>> Dev@wso2.org
>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>
>>>
>>
>>
>> --
>>
>> *Manuri Amaya Perera*
>>
>> *Software Engineer*
>>
>> *WSO2 Inc.*
>>
>> *Blog: http://manuriamayaperera.blogspot.com
>> <http://manuriamayaperera.blogspot.com>*
>>
>>
>>
>
> _______________________________________________
> Dev mailing list
> Dev@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 

*Kasun Gajasinghe*Associate Technical Lead, WSO2 Inc.
email: kasung AT spamfree wso2.com
linked-in: http://lk.linkedin.com/in/gajasinghe
blog: http://kasunbg.org
phone: +1 650-745-4499, 77 678 0813
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to