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.java: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.java: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.java: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.java: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.java: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.java: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