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

Reply via email to