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 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
> 

Reply via email to