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