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

Reply via email to