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.NamingContext.lookup(NamingContext.java:819)
>         at org.apache.naming.NamingContext.lookup(NamingContext.java:167)
>         at org.wso2.carbon.tomcat.jndi.CarbonSelectorContext.lookup(
> CarbonSelectorContext.java:67)
>         at org.wso2.carbon.context.internal.CarbonContextDataHolder$
> CarbonInitialJNDIContext.lookup(CarbonContextDataHolder.java:705)
>         at javax.naming.InitialContext.lookup(InitialContext.java:411)
>         at test.das.server.dao.common.MasterDataSource.createDataSource(
> MasterDataSource.java:20)
>         at test.das.server.dao.common.MasterDataSource.getDataSource(
> MasterDataSource.java:30)
>         at test.das.server.dao.common.CommonDao.getDBConnection(
> CommonDao.java:21)
>         at test.das.server.dao.users.GroupDao.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.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:57)
>         at sun.reflect.DelegatingMethodAccessorImpl.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.JAXRSInvoker.invoke(JAXRSInvoker.java:204)
>         at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:101)
>         at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.
> run(ServiceInvokerInterceptor.java:58)
>         at org.apache.cxf.interceptor.ServiceInvokerInterceptor.
> handleMessage(ServiceInvokerInterceptor.java:94)
>         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(
> PhaseInterceptorChain.java:272)
>         at org.apache.cxf.transport.ChainInitiationObserver.onMessage(
> ChainInitiationObserver.java:121)
>         at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(
> AbstractHTTPDestination.java:249)
>         at org.apache.cxf.transport.servlet.ServletController.
> invokeDestination(ServletController.java:248)
>         at org.apache.cxf.transport.servlet.ServletController.
> invoke(ServletController.java:222)
>         at org.apache.cxf.transport.servlet.ServletController.
> invoke(ServletController.java:153)
>         at org.apache.cxf.transport.servlet.CXFNonSpringServlet.
> invoke(CXFNonSpringServlet.java:171)
>         at org.apache.cxf.transport.servlet.AbstractHTTPServlet.
> handleRequest(AbstractHTTPServlet.java:289)
>         at org.apache.cxf.transport.servlet.AbstractHTTPServlet.
> doPut(AbstractHTTPServlet.java:226)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:649)
>         at org.apache.cxf.transport.servlet.AbstractHTTPServlet.
> service(AbstractHTTPServlet.java:265)
>         at org.apache.catalina.core.ApplicationFilterChain.
> internalDoFilter(ApplicationFilterChain.java:303)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:208)
>         at org.apache.tomcat.websocket.server.WsFilter.doFilter(
> WsFilter.java:52)
>         at org.apache.catalina.core.ApplicationFilterChain.
> internalDoFilter(ApplicationFilterChain.java:241)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:208)
>         at test.das.server.olap.SaikuFilter.doFilter(SaikuFilter.java:24)
>         at org.apache.catalina.core.ApplicationFilterChain.
> internalDoFilter(ApplicationFilterChain.java:241)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:208)
>         at org.apache.catalina.filters.CorsFilter.handleSimpleCORS(
> CorsFilter.java:302)
>         at org.apache.catalina.filters.CorsFilter.doFilter(
> CorsFilter.java:170)
>         at org.apache.catalina.core.ApplicationFilterChain.
> internalDoFilter(ApplicationFilterChain.java:241)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:208)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(
> StandardWrapperValve.java:220)
>         at org.apache.catalina.core.StandardContextValve.invoke(
> StandardContextValve.java:122)
>         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(
> AuthenticatorBase.java:504)
>         at org.apache.catalina.core.StandardHostValve.invoke(
> StandardHostValve.java:170)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(
> ErrorReportValve.java:103)
>         at org.wso2.carbon.statistics.webapp.RequestIntercepterValve.
> invoke(RequestIntercepterValve.java:47)
>         at org.wso2.carbon.bam.webapp.stat.publisher.
> WebAppStatisticPublisherValve.invoke(WebAppStatisticPublisherValve.
> java:104)
>         at org.wso2.carbon.tomcat.ext.valves.CompositeValve.
> continueInvocation(CompositeValve.java:99)
>         at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.
> invoke(CarbonTomcatValve.java:47)
>         at org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(
> TenantLazyLoaderValve.java:57)
>         at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.
> invokeValves(TomcatValveContainer.java:47)
>         at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(
> CompositeValve.java:62)
>         at org.wso2.carbon.tomcat.ext.valves.
> CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValv
> e.java:159)
>         at org.apache.catalina.valves.AccessLogValve.invoke(
> AccessLogValve.java:950)
>         at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.
> invoke(CarbonContextCreatorValve.java:57)
>         at org.apache.catalina.core.StandardEngineValve.invoke(
> StandardEngineValve.java:116)
>         at org.apache.catalina.connector.CoyoteAdapter.service(
> CoyoteAdapter.java:421)
>         at org.apache.coyote.http11.AbstractHttp11Processor.process(
> AbstractHttp11Processor.java:1074)
>         at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
> process(AbstractProtocol.java:611)
>         at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
> doRun(NioEndpoint.java:1739)
>         at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
> run(NioEndpoint.java:1698)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(
> ThreadPoolExecutor.java:1145)
>         at java.util.concurrent.ThreadPoolExecutor$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

Reply via email to