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