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