Hi all; Senaka/Anjana/PrabathA found the root cause, that JNDI lookup for webapps is different and the default "javaURLContextFactory" is not visible to webapps. This issue is fixed for AS 5.1.0. We have introduced another carbon implementation of the "javaURLContextFactory" , which we have to provide in the carbon.xml.
<jndi> * <DefaultInitialContextFactory>org.wso2.carbon.tomcat.jndi.CarbonJavaURLContextFactory</DefaultInitialContextFactory> * Thanks Kishanthan, you finally agreed to tell me the parameter :*)* * * Thanks On 20 May 2013 18:22, Vijayaratha Vijayasingam <[email protected]> wrote: > Exception related to CarbonContextDataHolder; > > Caused by: javax.naming.NameNotFoundException: Name [jdbc/WSO2UM1] is not > bound in this Context. Unable to find [jdbc]. > at org.apache.naming.NamingContext.lookup(NamingContext.java:820) > at org.apache.naming.NamingContext.lookup(NamingContext.java:168) > at > org.apache.naming.SelectorContext.lookup(SelectorContext.java:158) > at > org.wso2.carbon.context.internal.CarbonContextDataHolder$CarbonInitialJNDIContext.lookup(CarbonContextDataHolder.java:1030) > at javax.naming.InitialContext.lookup(InitialContext.java:392) > at javax.naming.InitialContext.doLookup(InitialContext.java:265) > at > org.wso2.carbon.user.core.util.DatabaseUtil.lookupDataSource(DatabaseUtil.java:90) > ... 104 more > > > > On 20 May 2013 18:18, Vijayaratha Vijayasingam <[email protected]> wrote: > >> Hi all; >> I have found some more info regarding this issue; >> In the CarbonContextdataHolder class; We try to create an initialContext, >> which returns the "SelectorContext", which doesn't have the binding info >> for the "jdbc" prefix. (This happens when i come via, APIStore app) >> But in the tenant creation process, it works because, the initialContext >> object returns the "NamingContext" object, which has the binding info for >> the "jdbc", prefix.(This happens when i create tenants as admin >> from Management console) >> I suspect, this is related to webapp loading in tomcat. >> >> @Azeez; >> Do you know the issue? What we are doing wrong here? >> >> >> Thanks >> -ratha >> >> >> On 16 May 2013 14:41, Hasini Gunasinghe <[email protected]> wrote: >> >>> On Thu, May 16, 2013 at 2:27 PM, Vijayaratha Vijayasingam < >>> [email protected]> wrote: >>> >>>> Hi hasini; >>>> we are not calling user.core form our end, we try >>>> to retrieve user-registry from our end to get the API data for tenants[1]; >>>> Regsitry calls usercore. >>>> May be the tenant login/creation doesn't involve in this realmConf >>>> initialization(im not sure) >>>> >>> >>> Tenant creation do involve initialization of tenant realm. >>> >>> Please note the following line in the stack trace you have printed above: >>> >>> *at org.wso2.carbon.user.core.common.DefaultRealmService. >>> getTenantUserRealm(DefaultRealmService.java:169)* >>> >>> This can not be invoked being in an individual tenant flow. >>> >>> Thanks, >>> Hasini. >>> >>> you can check attached usermsgt.xml with latest APIm pack. Try to login >>>> from store, you will see the issue.(after publishing api, restart the >>>> server) >>>> >>>> tenantConfRegistry = ServiceReferenceHolder.getInstance(). >>>> >>>> getRegistryService().getConfigUserRegistry(CarbonConstants.REGISTRY_ANONNYMOUS_USERNAME, >>>> tenant.getId()); >>>> tenantRegistry = ServiceReferenceHolder.getInstance(). >>>> >>>> getRegistryService().getGovernanceUserRegistry(CarbonConstants.REGISTRY_ANONNYMOUS_USERNAME, >>>> tenant.getId()); >>>> >>>> thansk >>>> >>>> >>>> >>>> On 16 May 2013 14:19, Hasini Gunasinghe <[email protected]> wrote: >>>> >>>>> Hi Ratha, >>>>> >>>>> On Thu, May 16, 2013 at 10:43 AM, Vijayaratha Vijayasingam < >>>>> [email protected]> wrote: >>>>> >>>>>> Hi all; >>>>>> I checked the user.core component to find out the root cause. >>>>>> When we login from api store to retrieve public apis, we do >>>>>> an iteration for all tenant's publicAPI. For that we check the >>>>>> particular tenant's registry. Registry calls-->usercore-->realmservice, >>>>>> where we initialize the relamConfiguration for tenants. >>>>>> >>>>> >>>>> Do you observe this issue only when you go through the aforementioned >>>>> flow? If so, you need to make sure that it is initiated in the correct >>>>> tenant scope. >>>>> >>>>> AFAIK, already existing multi tenant operations work fine in the APIM >>>>> pack - eg: tenant creation, tenant login etc.., where the tenant specific >>>>> realm initialization work fine without issue. Therefore, IMO, this can not >>>>> be a generic issue in user.core - rather you might have observed this due >>>>> to the way you initialize the above flow. >>>>> >>>>> Thanks, >>>>> Hasini. >>>>> >>>>> >>>>>> When we try to initialize the realm, system couldn't do lookup for >>>>>> the particular datasource; which is *jdbc/WSO2UM1.* (this >>>>>> datasources we define for multiple userstore) >>>>>> The error im getting for this is[1]; >>>>>> But when we start the server, system is able to initialize the realm >>>>>> configuration properly, that is it is able to do jndi lookup properly. >>>>>> What >>>>>> might be the issue? (I found some similar issues , but all stating driver >>>>>> is missing or, entry is wrong etc..but none is relevant to me) >>>>>> There is a carbonjira also reported same and resolved, but the >>>>>> reason provided for the issue looks irrelevant for me[2]. >>>>>> If anybody knows the root cause please reply to the thread. >>>>>> p.s: attched the uesrmgt+datasourec >>>>>> >>>>>> Thanks. >>>>>> >>>>>> [2]https://wso2.org/jira/browse/CARBON-11674 >>>>>> >>>>>> * >>>>>> * >>>>>> *[1]* >>>>>> * >>>>>> Caused by: javax.naming.NameNotFoundException: Name [jdbc/WSO2UM1] is >>>>>> not bound in this Context. Unable to find [jdbc]. >>>>>> at org.apache.naming.NamingContext.lookup(NamingContext.java:820) >>>>>> at org.apache.naming.NamingContext.lookup(NamingContext.java:168) >>>>>> at >>>>>> org.apache.naming.SelectorContext.lookup(SelectorContext.java:158) >>>>>> at >>>>>> org.wso2.carbon.context.internal.CarbonContextDataHolder$CarbonInitialJNDIContext.lookup(CarbonContextDataHolder.java:1030) >>>>>> at javax.naming.InitialContext.lookup(InitialContext.java:392) >>>>>> at javax.naming.InitialContext.doLookup(InitialContext.java:265) >>>>>> at >>>>>> org.wso2.carbon.user.core.util.DatabaseUtil.lookupDataSource(DatabaseUtil.java:90) >>>>>> * >>>>>> * >>>>>> * >>>>>> >>>>>> >>>>>> >>>>>> On 14 May 2013 15:43, Vijayaratha Vijayasingam <[email protected]>wrote: >>>>>> >>>>>>> Hi all; >>>>>>> we are getting above issue in APIManager 1.4.0, with multiple >>>>>>> userstore configuration. >>>>>>> What we did is, after publishing/subscribing the API, we allowed the >>>>>>> store app to session timeout then re login the system. We couldnt see >>>>>>> the >>>>>>> APIs at that time; >>>>>>> The error we got is. >>>>>>> >>>>>>> ... 32 more >>>>>>> [2013-05-14 15:35:29,756] ERROR - DefaultRealm Cannot create >>>>>>> org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager >>>>>>> java.lang.reflect.InvocationTargetException >>>>>>> at >>>>>>> sun.reflect.GeneratedConstructorAccessor126.newInstance(Unknown Source) >>>>>>> at >>>>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) >>>>>>> at >>>>>>> java.lang.reflect.Constructor.newInstance(Constructor.java:513) >>>>>>> at >>>>>>> org.wso2.carbon.user.core.common.DefaultRealm.createObjectWithOptions(DefaultRealm.java:225) >>>>>>> at >>>>>>> org.wso2.carbon.user.core.common.DefaultRealm.initializeObjects(DefaultRealm.java:147) >>>>>>> at >>>>>>> org.wso2.carbon.user.core.common.DefaultRealm.init(DefaultRealm.java:113) >>>>>>> at >>>>>>> org.wso2.carbon.user.core.common.DefaultRealmService.initializeRealm(DefaultRealmService.java:223) >>>>>>> at >>>>>>> org.wso2.carbon.user.core.common.DefaultRealmService.getTenantUserRealm(DefaultRealmService.java:169) >>>>>>> at >>>>>>> org.wso2.carbon.registry.core.session.UserRegistry.init(UserRegistry.java:267) >>>>>>> at >>>>>>> org.wso2.carbon.registry.core.session.UserRegistry.<init>(UserRegistry.java:227) >>>>>>> at >>>>>>> org.wso2.carbon.registry.core.session.UserRegistry.<init>(UserRegistry.java:206) >>>>>>> at >>>>>>> org.wso2.carbon.registry.core.jdbc.EmbeddedRegistryService.getUserRegistry(EmbeddedRegistryService.java:427) >>>>>>> at >>>>>>> org.wso2.carbon.registry.core.jdbc.EmbeddedRegistryService.getSystemRegistry(EmbeddedRegistryService.java:292) >>>>>>> at >>>>>>> org.wso2.carbon.registry.core.jdbc.EmbeddedRegistryService.getLocalRepository(EmbeddedRegistryService.java:481) >>>>>>> at >>>>>>> org.wso2.carbon.deployment.synchronizer.internal.repository.CarbonRepositoryUtils.getLocalRepository(CarbonRepositoryUtils.java:351) >>>>>>> at >>>>>>> org.wso2.carbon.deployment.synchronizer.internal.repository.CarbonRepositoryUtils.getDeploymentSyncConfigurationFromRegistry(CarbonReposito >>>>>>> ryUtils.java:257) >>>>>>> >>>>>>> >>>>>>> at java.lang.Thread.run(Thread.java:662) >>>>>>> Caused by: java.lang.reflect.InvocationTargetException >>>>>>> at >>>>>>> sun.reflect.GeneratedConstructorAccessor126.newInstance(Unknown Source) >>>>>>> at >>>>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) >>>>>>> at >>>>>>> java.lang.reflect.Constructor.newInstance(Constructor.java:513) >>>>>>> at >>>>>>> org.wso2.carbon.user.core.common.DefaultRealm.createObjectWithOptions(DefaultRealm.java:225) >>>>>>> ... 25 more >>>>>>> Caused by: java.lang.RuntimeException: Error in looking up data >>>>>>> source: Name [jdbc/WSO2UM1] is not bound in this Context. Unable to find >>>>>>> [jdbc]. >>>>>>> at >>>>>>> org.wso2.carbon.user.core.util.DatabaseUtil.lookupDataSource(DatabaseUtil.java:92) >>>>>>> at >>>>>>> org.wso2.carbon.user.core.util.DatabaseUtil.createUserStoreDataSource(DatabaseUtil.java:99) >>>>>>> at >>>>>>> org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager.loadUserStoreSpacificDataSoruce(JDBCUserStoreManager.java:1885) >>>>>>> at >>>>>>> org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:165) >>>>>>> ... 29 more >>>>>>> Caused by: javax.naming.NameNotFoundException: Name [jdbc/WSO2UM1] >>>>>>> is not bound in this Context. Unable to find [jdbc]. >>>>>>> at >>>>>>> org.apache.naming.NamingContext.lookup(NamingContext.java:820) >>>>>>> at >>>>>>> org.apache.naming.NamingContext.lookup(NamingContext.java:168) >>>>>>> at >>>>>>> org.wso2.carbon.context.internal.CarbonContextDataHolder$CarbonInitialJNDIContext.lookup(CarbonContextDataHolder.java:1030) >>>>>>> at >>>>>>> javax.naming.InitialContext.lookup(InitialContext.java:392) >>>>>>> at >>>>>>> javax.naming.InitialContext.doLookup(InitialContext.java:265) >>>>>>> at >>>>>>> org.wso2.carbon.user.core.util.DatabaseUtil.lookupDataSource(DatabaseUtil.java:90) >>>>>>> ... 32 more >>>>>>> [2013-05-14 15:36:15,181] ERROR - DefaultRealmService Cannot >>>>>>> initialize the realm. >>>>>>> org.wso2.carbon.user.core.UserStoreException: Cannot initialize the >>>>>>> realm. >>>>>>> at >>>>>>> org.wso2.carbon.user.core.common.DefaultRealmService.initializeRealm(DefaultRealmService.java:227) >>>>>>> at >>>>>>> org.wso2.carbon.user.core.common.DefaultRealmService.getTenantUserRealm(DefaultRealmService.java:169) >>>>>>> at >>>>>>> org.wso2.carbon.registry.core.session.UserRegistry.init(UserRegistry.java:267) >>>>>>> at >>>>>>> org.wso2.carbon.registry.core.session.UserRegistry.<init>(UserRegistry.java:227) >>>>>>> at >>>>>>> org.wso2.carbon.registry.core.session.UserRegistry.<init>(UserRegistry.java:206) >>>>>>> at >>>>>>> org.wso2.carbon.registry.core.jdbc.EmbeddedRegistryService.getUserRegistry(EmbeddedRegistryService.java:427) >>>>>>> at >>>>>>> org.wso2.carbon.registry.core.jdbc.EmbeddedRegistryService.getSystemRegistry(EmbeddedRegistryService.java:292) >>>>>>> at >>>>>>> org.wso2.carbon.registry.core.jdbc.EmbeddedRegistryService.getLocalRepository(EmbeddedRegistryService.java:481) >>>>>>> at >>>>>>> org.wso2.carbon.deployment.synchronizer.internal.repository.CarbonRepositoryUtils.getLocalRepository(CarbonRepositoryUtils.java:351) >>>>>>> at >>>>>>> org.wso2.carbon.deployment.synchronizer.internal.repository.CarbonRepositoryUtils.getDeploymentSyncConfigurationFromRegistry(CarbonReposito >>>>>>> ryUtils.java:257) >>>>>>> at >>>>>>> org.wso2.carbon.deployment.synchronizer.internal.repository.CarbonRepositoryUtils.getActiveSynchronizerConfiguration(CarbonRepositoryUtils. >>>>>>> java:108) >>>>>>> at >>>>>>> org.wso2.carbon.deployment.synchronizer.internal.DeploymentSynchronizerServiceImpl.commit(DeploymentSynchronizerServiceImpl.java:96) >>>>>>> at >>>>>>> org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.deploymentSyncCommit(CarbonDeploymentSchedulerTask.java:175) >>>>>>> at >>>>>>> org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.run(CarbonDeploymentSchedulerTask.java:116) >>>>>>> at >>>>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) >>>>>>> at >>>>>>> java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) >>>>>>> at >>>>>>> java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) >>>>>>> at >>>>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) >>>>>>> at >>>>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180) >>>>>>> at >>>>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204) >>>>>>> at >>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) >>>>>>> at >>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) >>>>>>> at java.lang.Thread.run(Thread.java:662) >>>>>>> Caused by: org.wso2.carbon.user.core.UserStoreException: nullType >>>>>>> class java.lang.reflect.InvocationTargetException >>>>>>> at >>>>>>> org.wso2.carbon.user.core.common.DefaultRealm.createObjectWithOptions(DefaultRealm.java:266) >>>>>>> at >>>>>>> org.wso2.carbon.user.core.common.DefaultRealm.initializeObjects(DefaultRealm.java:147) >>>>>>> at >>>>>>> org.wso2.carbon.user.core.common.DefaultRealm.init(DefaultRealm.java:113) >>>>>>> at >>>>>>> org.wso2.carbon.user.core.common.DefaultRealmService.initializeRealm(DefaultRealmService.java:223) >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> mobile: (+94)755906608 >>>>>> >>>>>> _______________________________________________ >>>>>> Dev mailing list >>>>>> [email protected] >>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>> >>>>>> >>>>> >>>> >>>> >>>> -- >>>> -Ratha >>>> mobile: (+94)755906608 >>>> >>> >>> >> >> >> -- >> -Ratha >> mobile: (+94)755906608 >> > > > > -- > -Ratha > mobile: (+94)755906608 > -- -Ratha mobile: (+94)755906608
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
