geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dileepa Jayakody <dile...@wso2.com>
Subject Re: Error when deploying a web-app : javax.naming.NoInitialContextException: Unable to determine caller's BundleContext
Date Thu, 30 Aug 2012 05:50:04 GMT
On Tue, Aug 28, 2012 at 11:14 PM, David Jencks <david_jencks@yahoo.com>wrote:

> I think the basic problem is that geronimo supports wabs and does not
> AFAIK support http service.
>
> I strongly recommend NOT trying to start another osgi framework inside
> geronimo.
>
> If you can repackage your web stuff as one or more wabs, that will be the
> easiest to get working.  Otherwise you should try to deploy an httpservice
> implementation in geronimo.  I'm not familiar with the possiblitlies: I
> think there's one at ops4j, but it may include jetty which is apt to
> conflict with tomcat.  Ideally there's be something like a wab that
> provides http service, but I don't know if anyone has written such a bundle.
>

Thanks David, I'll look at the possibilities and let you know.

>
> thanks
> david jencks
>
> On Aug 28, 2012, at 12:48 AM, Dileepa Jayakody wrote:
>
> Hi All,
>
> I was trying out deploying a set of server-side bundles in Geronimo for
> last couple of days and had some issues getting access to osgi http service
> from my bundles.
>
> So as a secondary option;
> I created a web-app mode application to deploy my bundles in a separate
> osgi runtime. It's something similar to what's discussed here [1].
> What my web-app does is, it starts a osgi-runtime and proxies the http
> requests coming to the web-app's context to the osgi http service so that
> the other bundles in the repository can serve the requests via osgi http
> service.
>
> However after deploying my war file and starting Geronimo I came across a
> JNDI error [3]. One of the bundles is trying to create a JNDI context and
> getting a  javax.naming.NoInitialContextException.
> This is caused by : javax.naming.NoInitialContextException: Unable to
> determine caller's BundleContext
>     at
> org.apache.aries.jndi.OSGiInitialContextFactoryBuilder.getInitialContext(OSGiInitialContextFactoryBuilder.java:49)
>
> I found out a similar issue reported at [2]. Is this a bug in
> org.apache.aries.jndi 0.3.0 used in Geronimo? Does anyone have an idea on
> this?
> Appreciate your thoughts.
>
> Thanks,
> Dileepa
>
> [1] http://www.eclipse.org/equinox/server/http_in_container.php
> [2] https://issues.apache.org/jira/browse/KARAF-304
>
> [3]
> [**************************************  ]  97%  27s  Loading
> crbn                                            [2012-08-28 10:57:41,739]
> ERROR {org.wso2.carbon.ndatasource.core.DataSourceRepository} -  Error in
> registering data source: WSO2_CARBON_DB - Error in creating JNDI subcontext
> 'javax.naming.InitialContext@20828fe4/jdbc: Unable to determine caller's
> BundleContext
> org.wso2.carbon.ndatasource.common.DataSourceException: Error in creating
> JNDI subcontext 'javax.naming.InitialContext@20828fe4/jdbc: Unable to
> determine caller's BundleContext
>     at
> org.wso2.carbon.ndatasource.core.DataSourceRepository.checkAndCreateJNDISubContexts(DataSourceRepository.java:243)
>     at
> org.wso2.carbon.ndatasource.core.DataSourceRepository.registerJNDI(DataSourceRepository.java:268)
>     at
> org.wso2.carbon.ndatasource.core.DataSourceRepository.registerDataSource(DataSourceRepository.java:389)
>     at
> org.wso2.carbon.ndatasource.core.DataSourceRepository.addDataSource(DataSourceRepository.java:485)
>     at
> org.wso2.carbon.ndatasource.core.DataSourceManager.initSystemDataSource(DataSourceManager.java:158)
>     at
> org.wso2.carbon.ndatasource.core.DataSourceManager.initSystemDataSources(DataSourceManager.java:130)
>     at
> org.wso2.carbon.ndatasource.core.internal.DataSourceServiceComponent.initSystemDataSources(DataSourceServiceComponent.java:168)
>     at
> org.wso2.carbon.ndatasource.core.internal.DataSourceServiceComponent.setSecretCallbackHandlerService(DataSourceServiceComponent.java:154)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:597)
>     at
> org.eclipse.equinox.internal.ds.model.ComponentReference.bind(ComponentReference.java:367)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bindReference(ServiceComponentProp.java:430)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bind(ServiceComponentProp.java:218)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:344)
>     at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:588)
>     at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:196)
>     at
> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:328)
>     at
> org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:221)
>     at
> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:104)
>     at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
>     at
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
>     at
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
>     at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
>     at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
>     at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
>     at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
>     at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
>     at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451)
>     at
> org.wso2.carbon.securevault.internal.SecretManagerInitializerComponent.activate(SecretManagerInitializerComponent.java:48)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:597)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:252)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
>     at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:346)
>     at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:588)
>     at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:196)
>     at
> org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:441)
>     at
> org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:213)
>     at
> org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:800)
>     at
> org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:767)
>     at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89)
>     at
> org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:70)
> Caused by: javax.naming.NoInitialContextException: Unable to determine
> caller's BundleContext
>     at
> org.apache.aries.jndi.OSGiInitialContextFactoryBuilder.getInitialContext(OSGiInitialContextFactoryBuilder.java:49)
>     at
> javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
>     at
> javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
>     at
> javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:316)
>     at
> javax.naming.InitialContext.createSubcontext(InitialContext.java:464)
>     at
> org.wso2.carbon.ndatasource.core.DataSourceRepository.checkAndCreateJNDISubContexts(DataSourceRepository.java:241)
>     ... 45 more
> [**************************************  ]  97%  27s  Loading
> crbn                                            [2012-08-28 10:57:42,138]
> ERROR {org.wso2.carbon.user.core.internal.Activator} -  Cannot start User
> Manager Core bundle
> java.lang.RuntimeException: Error in looking up data source: Unable to
> determine caller's BundleContext
>     at
> org.wso2.carbon.user.core.util.DatabaseUtil.lookupDataSource(DatabaseUtil.java:92)
>     at
> org.wso2.carbon.user.core.util.DatabaseUtil.createRealmDataSource(DatabaseUtil.java:178)
>     at
> org.wso2.carbon.user.core.util.DatabaseUtil.getRealmDataSource(DatabaseUtil.java:72)
>     at
> org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:92)
>     at
> org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:128)
>     at
> org.wso2.carbon.user.core.internal.Activator.startDeploy(Activator.java:66)
>     at
> org.wso2.carbon.user.core.internal.BundleCheckActivator.start(BundleCheckActivator.java:61)
>     at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
>     at java.security.AccessController.doPrivileged(Native Method)
>     at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
>     at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
>     at
> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
>     at
> org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:389)
>     at
> org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1130)
>     at
> org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
>     at
> org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
>     at
> org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
>     at
> org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
>     at
> org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)
>     at
> org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)
>     at
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
>     at
> org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
> Caused by: javax.naming.NoInitialContextException: Unable to determine
> caller's BundleContext
>     at
> org.apache.aries.jndi.OSGiInitialContextFactoryBuilder.getInitialContext(OSGiInitialContextFactoryBuilder.java:49)
>     at
> javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
>     at
> javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
>     at
> javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:316)
>     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)
>     ... 21 more
>
>
>
> --
> Dileepa Jayakody,
> Software Engineer, WSO2 Inc.
> Lean . Enterprise . Middleware
>
> Mobile : +94777-857616
>
>
>


-- 
Dileepa Jayakody,
Software Engineer, WSO2 Inc.
Lean . Enterprise . Middleware

Mobile : +94777-857616

Mime
View raw message