You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@tuscany.apache.org by keinmensch <ke...@mailhaven.com> on 2009/12/08 15:10:39 UTC
Maven Dependencies?
Hi!
I am trying to figure out the Maven dependencies required for a Tuscany
2.0M4 project that:
- Contains one composite with a few components.
- Exposes one of the components as a SOAP web service.
First I just want to say that everything works well if I include the
tuscany-sca-manifest.jar file on the project classpath, but this is not
the solution I want.
With the following dependencies in the pom.xml (which I copied from the
binding-ws-calculator):
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-feature-api</artifactId>
<type>pom</type>
<version>2.0-M4</version>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-feature-core</artifactId>
<type>pom</type>
<version>2.0-M4</version>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-feature-webservice</artifactId>
<type>pom</type>
<version>2.0-M4</version>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-feature-ejava</artifactId>
<type>pom</type>
<version>2.0-M4</version>
</dependency>
Then the following error occurs when trying to run the program starting
the service:
INFO: Loading contribution: file:/...
Exception in thread "main" java.lang.IllegalStateException:
java.lang.NoClassDefFoundError:
edu/emory/mathcs/backport/java/util/concurrent/ConcurrentHashMap
at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:176)
at
com.ivan.server.CalculatorServerStarter.main(CalculatorServerStarter.java:29)
Caused by: java.lang.NoClassDefFoundError:
edu/emory/mathcs/backport/java/util/concurrent/ConcurrentHashMap
at
org.apache.axis2.description.AxisDescription.<init>(AxisDescription.java:78)
at
org.apache.axis2.engine.AxisConfiguration.<init>(AxisConfiguration.java:148)
at
org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration(DeploymentEngine.java:639)
So I add the backport-util-concurrent 3.0 JAR to the dependencies and
then there is another error when I try to start the service:
Exception in thread "main" java.lang.IllegalStateException:
org.apache.tuscany.sca.runtime.ActivationException:
org.apache.tuscany.sca.runtime.ActivationException:
org.oasisopen.sca.ServiceRuntimeException: org.apache.axis2.AxisFault:
org/apache/commons/fileupload/FileItemFactory
at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:176)
at
com.ivan.server.CalculatorServerStarter.main(CalculatorServerStarter.java:29)
Caused by: org.apache.tuscany.sca.runtime.ActivationException:
org.apache.tuscany.sca.runtime.ActivationException:
org.oasisopen.sca.ServiceRuntimeException: org.apache.axis2.AxisFault:
org/apache/commons/fileupload/FileItemFactory
at
org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.activate(CompositeActivatorImpl.java:112)
at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:145)
... 1 more
Caused by: org.apache.tuscany.sca.runtime.ActivationException:
org.oasisopen.sca.ServiceRuntimeException: org.apache.axis2.AxisFault:
org/apache/commons/fileupload/FileItemFactory
at
org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.activateComponent(CompositeActivatorImpl.java:157)
at
org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.activate(CompositeActivatorImpl.java:109)
... 2 more
Caused by: org.oasisopen.sca.ServiceRuntimeException:
org.apache.axis2.AxisFault: org/apache/commons/fileupload/FileItemFactory
at
org.apache.tuscany.sca.binding.ws.axis2.Axis2ConfiguratorHelper.getAxis2ConfigurationContext(Axis2ConfiguratorHelper.java:74)
at
org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceProvider.<init>(Axis2ServiceProvider.java:178)
at
org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceBindingProvider.<init>(Axis2ServiceBindingProvider.java:65)
at
org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingProviderFactory.createServiceBindingProvider(Axis2BindingProviderFactory.java:65)
at
org.apache.tuscany.sca.provider.DefaultProviderFactoryExtensionPoint$LazyBindingProviderFactory.createServiceBindingProvider(DefaultProviderFactoryExtensionPoint.java:246)
at
org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.addServiceBindingProvider(CompositeActivatorImpl.java:286)
at
org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.activate(CompositeActivatorImpl.java:262)
at
org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.activateComponent(CompositeActivatorImpl.java:148)
... 3 more
Caused by: org.apache.axis2.AxisFault:
org/apache/commons/fileupload/FileItemFactory
at
org.apache.tuscany.sca.binding.ws.axis2.TuscanyAxisConfigurator.getAxisConfiguration(TuscanyAxisConfigurator.java:159)
at
org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:68)
at
org.apache.tuscany.sca.binding.ws.axis2.TuscanyAxisConfigurator.getConfigurationContext(TuscanyAxisConfigurator.java:96)
at
org.apache.tuscany.sca.binding.ws.axis2.Axis2ConfiguratorHelper$1.run(Axis2ConfiguratorHelper.java:62)
I am 100% sure that this is a problem with a missing dependency, but
from the above, I cannot for the world tell what is missing.
So I now ask if anyone has a clue to what dependencies I should include
to solve the above problems?
If nothing else, I will be very grateful for the "include all"
dependencies declarations to include in my pom.xml.
Many thanks in advance!
Ivan
Re: Maven Dependencies?
Posted by amit patel <am...@gmail.com>.
Ivan
do you use http://repository.apache.org/content/repositories ?
it redirects to https now. I think earlier it did not.
if you still have 1 kb jars open them in notepad. you ll see what I mean
Re: Maven Dependencies?
Posted by keinmensch <ke...@mailhaven.com>.
Hi again!
ant elder wrote:
> I'm not sure why thats not getting picked up as a transitive
> dependency, it could be your environment or perhaps there's something
> wrong with the tuscany-feature-webservice, but i dont think samples
> should be using those features like that as they're intended for
> creating distributions.
Thanks a lot for the swift reply - yes, there was indeed a problem with
my environment. Some JAR-files in my local repository were empty - it
looked like they had been downloaded by Maven, but the size were only a
few hundred bytes. One of those were commons-fileupload.
> What happens if you try using these dependencies:
Works like a charm! :-)
Thanks again!
Ivan
Re: Glassfish and Tuscany
Posted by Raymond Feng <en...@gmail.com>.
Hi, Alex.
Thanks for sharing your adventure with Glassfish and Felix.
The NPE problem seems to be bug in the Glassfish code:
> java.lang.NullPointerException
> at
> com.sun.hk2.component.ExistingSingletonInhabitant.<init>(ExistingSingletonIn
> habitant.java:54)
> at
> org.jvnet.hk2.osgiadapter.HK2Main$HK2ServiceTrackerCustomizer.addingService(
> HK2Main.java:212)
Glassfish tracks OSGi services and it runs into a NPE. Can you check what's
the NPE is against? Does it expect some properties from the service? If so,
we can try to work around that.
For the ArrayOutOfIndex issue, which version of Tuscany do you use? I'm
trying to match the stacktrace to the line #.
Thanks,
Raymond
--------------------------------------------------
From: "Alexander Blotny" <Al...@fokus.fraunhofer.de>
Sent: Tuesday, December 08, 2009 8:22 AM
To: <us...@tuscany.apache.org>
Subject: Glassfish and Tuscany
> Hi,
>
> I am trying to run the tuscany framework in the glassfisch web container.
> So
> far I managed to start everything without errors or exceptions...
>
> The tutorial for starting tuscany in felix helped a lot (I am using
> glassfish with Felix as OSGi framework).
>
> Then I tried to use some examples but until now I run into several
> problems.
>
> For example if I try the dosgi-dynamic-calculator example.
> I am starting the bundle with the shell console of felix and got following
> error:
>
> java.lang.NullPointerException
> at
> com.sun.hk2.component.ExistingSingletonInhabitant.<init>(ExistingSingletonIn
> habitant.java:54)
> at
> org.jvnet.hk2.osgiadapter.HK2Main$HK2ServiceTrackerCustomizer.addingService(
> HK2Main.java:212)
> at
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker
> .java:896)
> at
> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261)
> at
> org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:233)
> at
> org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.j
> ava:840)
> at
> org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallbac
> k(EventDispatcher.java:878)
> at
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDi
> spatcher.java:732)
> at
> org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispat
> cher.java:662)
> at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3587)
> at org.apache.felix.framework.Felix.access$000(Felix.java:40)
> at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:625)
> at
> org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.j
> ava:97)
> at org.apache.felix.framework.Felix.registerService(Felix.java:2711)
> at
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextIm
> pl.java:252)
> at
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextIm
> pl.java:230)
> at
> org.apache.tuscany.sca.implementation.osgi.runtime.OSGiImplementationProvide
> r$1.run(OSGiImplementationProvider.java:125)
> at
> org.apache.tuscany.sca.implementation.osgi.runtime.OSGiImplementationProvide
> r$1.run(OSGiImplementationProvider.java:1)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> org.apache.tuscany.sca.implementation.osgi.runtime.OSGiImplementationProvide
> r.start(OSGiImplementationProvider.java:120)
> at
> org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.start(Compo
> siteActivatorImpl.java:510)
> at
> org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.start(Compo
> siteActivatorImpl.java:475)
> at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:148)
> at
> org.apache.tuscany.sca.osgi.remoteserviceadmin.impl.OSGiServiceImporter.impo
> rtService(OSGiServiceImporter.java:71)
> at
> org.apache.tuscany.sca.osgi.remoteserviceadmin.impl.RemoteServiceAdminImpl.i
> mportService(RemoteServiceAdminImpl.java:265)
> at
> org.apache.tuscany.sca.osgi.remoteserviceadmin.impl.TopologyManagerImpl.impo
> rtService(TopologyManagerImpl.java:369)
> at
> org.apache.tuscany.sca.osgi.remoteserviceadmin.impl.TopologyManagerImpl.endp
> ointAdded(TopologyManagerImpl.java:336)
> at
> org.apache.tuscany.sca.osgi.service.discovery.impl.AbstractDiscoveryService.
> triggerCallbacks(AbstractDiscoveryService.java:197)
> at
> org.apache.tuscany.sca.osgi.service.discovery.impl.AbstractDiscoveryService.
> endpointChanged(AbstractDiscoveryService.java:274)
> at
> org.apache.tuscany.sca.osgi.service.discovery.impl.DomainDiscoveryService.en
> dpointAdded(DomainDiscoveryService.java:90)
> at
> org.apache.tuscany.sca.core.assembly.impl.EndpointRegistryImpl.addEndpoint(E
> ndpointRegistryImpl.java:50)
> at
> org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.start(Compo
> siteActivatorImpl.java:543)
> at
> org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.start(Compo
> siteActivatorImpl.java:475)
> at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:148)
> at
> org.apache.tuscany.sca.osgi.remoteserviceadmin.impl.OSGiServiceExporter.expo
> rtService(OSGiServiceExporter.java:96)
> at
> org.apache.tuscany.sca.osgi.remoteserviceadmin.impl.RemoteServiceAdminImpl.e
> xportService(RemoteServiceAdminImpl.java:123)
> at
> org.apache.tuscany.sca.osgi.remoteserviceadmin.impl.TopologyManagerImpl.expo
> rtService(TopologyManagerImpl.java:181)
> at
> org.apache.tuscany.sca.osgi.remoteserviceadmin.impl.TopologyManagerImpl.addi
> ngService(TopologyManagerImpl.java:147)
> at
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker
> .java:896)
> at
> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261)
> at
> org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:233)
> at
> org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.j
> ava:840)
> at
> org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallbac
> k(EventDispatcher.java:878)
> at
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDi
> spatcher.java:732)
> at
> org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispat
> cher.java:662)
> at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3587)
> at org.apache.felix.framework.Felix.access$000(Felix.java:40)
> at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:625)
> at
> org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.j
> ava:97)
> at org.apache.felix.framework.Felix.registerService(Felix.java:2711)
> at
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextIm
> pl.java:252)
> at
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextIm
> pl.java:230)
> at
> calculator.dosgi.operations.impl.OperationsActivator.start(OperationsActivat
> or.java:68)
> at
> org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.jav
> a:640)
> at org.apache.felix.framework.Felix.activateBundle(Felix.java:1700)
> at org.apache.felix.framework.Felix.startBundle(Felix.java:1622)
> at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:915)
> at
> org.apache.felix.shell.impl.StartCommandImpl.execute(StartCommandImpl.java:1
> 14)
> at
> org.apache.felix.shell.impl.Activator$ShellServiceImpl.executeCommand(Activa
> tor.java:286)
> at org.apache.felix.shell.remote.Shell.run(Shell.java:109)
> at java.lang.Thread.run(Thread.java:637)
>
>
> Furthermore I tried to register a simple service (did nothing than
> returning
> a value) as a web service via osgi bundle activator:
>
> Node node;
>
> public void start(BundleContext arg0) throws Exception {
> node = NodeFactory.newInstance().createNode("bundle.composite",
> this.getClass().getClassLoader());
>
> node.start();
> }
>
> public void stop(BundleContext arg0) throws Exception {
> node.stop();
> }
>
> I got the following error:
>
> java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
> at java.util.ArrayList.RangeCheck(ArrayList.java:547)
> at java.util.ArrayList.get(ArrayList.java:322)
> at
> org.apache.tuscany.sca.node.osgi.impl.OSGiNodeFactoryImpl.getNodeKey(OSGiNod
> eFactoryImpl.java:129)
> at
> org.apache.tuscany.sca.node.impl.NodeFactoryImpl.addNode(NodeFactoryImpl.jav
> a:113)
> at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:115)
> at launch.Launch.start(Launch.java:16)
> at
> org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.jav
> a:640)
> at org.apache.felix.framework.Felix.activateBundle(Felix.java:1700)
> at org.apache.felix.framework.Felix.startBundle(Felix.java:1622)
> at
> org.apache.felix.framework.Felix.setBundleStartLevel(Felix.java:1241)
> at
> org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:270)
> at java.lang.Thread.run(Thread.java:637)
> |#]
>
>
> I also tried the cloud example (
> https://svn.apache.org/repos/asf/tuscany/sandbox/sca-cloud-tutorial/)
> mentioned before in this mailing list. When I deploy the war file
> (store-catalog-ibmcloud-webapp.war) and point on the index.html file there
> is the same IndexOutOfBounsException as above.
>
> Does anyone has experience in combining glassfish and tuscany?
>
> Thanks
> Alex
>
Re: Glassfish and Tuscany
Posted by Raymond Feng <en...@gmail.com>.
Further investigation shows that GlassFish (HK2) is a bit aggressive to get
the service object when the OSGi service is registered. We use a
ServiceFactory to create a service proxy for the client bundle that calls
BundleContext.getService(ServiceReference ...). As a result, the bundle is
the HK2 which doesn't have access to the SCA component business interface.
So a null is returned to the getService() call and HK2 doesn't like that.
public Object getService(Bundle bundle, ServiceRegistration
registration) {
Class<?> interfaceClass = null;
try {
interfaceClass = bundle.loadClass(interfaceName);
} catch (ClassNotFoundException e) {
return null;
}
...
}
I'm not sure if you should get GlassFish to fix the NPE or we should try to
return a non-null dummy object to work around it. My understanding of the
OSGi API [1] is that it's possible that getService() returns a null.
[1]
http://www.osgi.org/javadoc/r4v42/org/osgi/framework/BundleContext.html#getService(org.osgi.framework.ServiceReference)
Thanks,
Raymond
--------------------------------------------------
From: "Alexander Blotny" <Al...@fokus.fraunhofer.de>
Sent: Tuesday, December 08, 2009 8:22 AM
To: <us...@tuscany.apache.org>
Subject: Glassfish and Tuscany
> Hi,
>
> I am trying to run the tuscany framework in the glassfisch web container.
> So
> far I managed to start everything without errors or exceptions...
>
> The tutorial for starting tuscany in felix helped a lot (I am using
> glassfish with Felix as OSGi framework).
>
> Then I tried to use some examples but until now I run into several
> problems.
>
> For example if I try the dosgi-dynamic-calculator example.
> I am starting the bundle with the shell console of felix and got following
> error:
>
> java.lang.NullPointerException
> at
> com.sun.hk2.component.ExistingSingletonInhabitant.<init>(ExistingSingletonIn
> habitant.java:54)
> at
> org.jvnet.hk2.osgiadapter.HK2Main$HK2ServiceTrackerCustomizer.addingService(
> HK2Main.java:212)
> at
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker
> .java:896)
> at
> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261)
> at
> org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:233)
> at
> org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.j
> ava:840)
> at
> org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallbac
> k(EventDispatcher.java:878)
> at
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDi
> spatcher.java:732)
> at
> org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispat
> cher.java:662)
> at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3587)
> at org.apache.felix.framework.Felix.access$000(Felix.java:40)
> at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:625)
> at
> org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.j
> ava:97)
> at org.apache.felix.framework.Felix.registerService(Felix.java:2711)
> at
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextIm
> pl.java:252)
> at
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextIm
> pl.java:230)
> at
> org.apache.tuscany.sca.implementation.osgi.runtime.OSGiImplementationProvide
> r$1.run(OSGiImplementationProvider.java:125)
> at
> org.apache.tuscany.sca.implementation.osgi.runtime.OSGiImplementationProvide
> r$1.run(OSGiImplementationProvider.java:1)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> org.apache.tuscany.sca.implementation.osgi.runtime.OSGiImplementationProvide
> r.start(OSGiImplementationProvider.java:120)
> at
> org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.start(Compo
> siteActivatorImpl.java:510)
> at
> org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.start(Compo
> siteActivatorImpl.java:475)
> at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:148)
> at
> org.apache.tuscany.sca.osgi.remoteserviceadmin.impl.OSGiServiceImporter.impo
> rtService(OSGiServiceImporter.java:71)
> at
> org.apache.tuscany.sca.osgi.remoteserviceadmin.impl.RemoteServiceAdminImpl.i
> mportService(RemoteServiceAdminImpl.java:265)
> at
> org.apache.tuscany.sca.osgi.remoteserviceadmin.impl.TopologyManagerImpl.impo
> rtService(TopologyManagerImpl.java:369)
> at
> org.apache.tuscany.sca.osgi.remoteserviceadmin.impl.TopologyManagerImpl.endp
> ointAdded(TopologyManagerImpl.java:336)
> at
> org.apache.tuscany.sca.osgi.service.discovery.impl.AbstractDiscoveryService.
> triggerCallbacks(AbstractDiscoveryService.java:197)
> at
> org.apache.tuscany.sca.osgi.service.discovery.impl.AbstractDiscoveryService.
> endpointChanged(AbstractDiscoveryService.java:274)
> at
> org.apache.tuscany.sca.osgi.service.discovery.impl.DomainDiscoveryService.en
> dpointAdded(DomainDiscoveryService.java:90)
> at
> org.apache.tuscany.sca.core.assembly.impl.EndpointRegistryImpl.addEndpoint(E
> ndpointRegistryImpl.java:50)
> at
> org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.start(Compo
> siteActivatorImpl.java:543)
> at
> org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.start(Compo
> siteActivatorImpl.java:475)
> at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:148)
> at
> org.apache.tuscany.sca.osgi.remoteserviceadmin.impl.OSGiServiceExporter.expo
> rtService(OSGiServiceExporter.java:96)
> at
> org.apache.tuscany.sca.osgi.remoteserviceadmin.impl.RemoteServiceAdminImpl.e
> xportService(RemoteServiceAdminImpl.java:123)
> at
> org.apache.tuscany.sca.osgi.remoteserviceadmin.impl.TopologyManagerImpl.expo
> rtService(TopologyManagerImpl.java:181)
> at
> org.apache.tuscany.sca.osgi.remoteserviceadmin.impl.TopologyManagerImpl.addi
> ngService(TopologyManagerImpl.java:147)
> at
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker
> .java:896)
> at
> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261)
> at
> org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:233)
> at
> org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.j
> ava:840)
> at
> org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallbac
> k(EventDispatcher.java:878)
> at
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDi
> spatcher.java:732)
> at
> org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispat
> cher.java:662)
> at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3587)
> at org.apache.felix.framework.Felix.access$000(Felix.java:40)
> at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:625)
> at
> org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.j
> ava:97)
> at org.apache.felix.framework.Felix.registerService(Felix.java:2711)
> at
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextIm
> pl.java:252)
> at
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextIm
> pl.java:230)
> at
> calculator.dosgi.operations.impl.OperationsActivator.start(OperationsActivat
> or.java:68)
> at
> org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.jav
> a:640)
> at org.apache.felix.framework.Felix.activateBundle(Felix.java:1700)
> at org.apache.felix.framework.Felix.startBundle(Felix.java:1622)
> at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:915)
> at
> org.apache.felix.shell.impl.StartCommandImpl.execute(StartCommandImpl.java:1
> 14)
> at
> org.apache.felix.shell.impl.Activator$ShellServiceImpl.executeCommand(Activa
> tor.java:286)
> at org.apache.felix.shell.remote.Shell.run(Shell.java:109)
> at java.lang.Thread.run(Thread.java:637)
>
>
> Furthermore I tried to register a simple service (did nothing than
> returning
> a value) as a web service via osgi bundle activator:
>
> Node node;
>
> public void start(BundleContext arg0) throws Exception {
> node = NodeFactory.newInstance().createNode("bundle.composite",
> this.getClass().getClassLoader());
>
> node.start();
> }
>
> public void stop(BundleContext arg0) throws Exception {
> node.stop();
> }
>
> I got the following error:
>
> java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
> at java.util.ArrayList.RangeCheck(ArrayList.java:547)
> at java.util.ArrayList.get(ArrayList.java:322)
> at
> org.apache.tuscany.sca.node.osgi.impl.OSGiNodeFactoryImpl.getNodeKey(OSGiNod
> eFactoryImpl.java:129)
> at
> org.apache.tuscany.sca.node.impl.NodeFactoryImpl.addNode(NodeFactoryImpl.jav
> a:113)
> at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:115)
> at launch.Launch.start(Launch.java:16)
> at
> org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.jav
> a:640)
> at org.apache.felix.framework.Felix.activateBundle(Felix.java:1700)
> at org.apache.felix.framework.Felix.startBundle(Felix.java:1622)
> at
> org.apache.felix.framework.Felix.setBundleStartLevel(Felix.java:1241)
> at
> org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:270)
> at java.lang.Thread.run(Thread.java:637)
> |#]
>
>
> I also tried the cloud example (
> https://svn.apache.org/repos/asf/tuscany/sandbox/sca-cloud-tutorial/)
> mentioned before in this mailing list. When I deploy the war file
> (store-catalog-ibmcloud-webapp.war) and point on the index.html file there
> is the same IndexOutOfBounsException as above.
>
> Does anyone has experience in combining glassfish and tuscany?
>
> Thanks
> Alex
>
Glassfish and Tuscany
Posted by Alexander Blotny <Al...@fokus.fraunhofer.de>.
Hi,
I am trying to run the tuscany framework in the glassfisch web container. So
far I managed to start everything without errors or exceptions...
The tutorial for starting tuscany in felix helped a lot (I am using
glassfish with Felix as OSGi framework).
Then I tried to use some examples but until now I run into several problems.
For example if I try the dosgi-dynamic-calculator example.
I am starting the bundle with the shell console of felix and got following
error:
java.lang.NullPointerException
at
com.sun.hk2.component.ExistingSingletonInhabitant.<init>(ExistingSingletonIn
habitant.java:54)
at
org.jvnet.hk2.osgiadapter.HK2Main$HK2ServiceTrackerCustomizer.addingService(
HK2Main.java:212)
at
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker
.java:896)
at
org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261)
at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:233)
at
org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.j
ava:840)
at
org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallbac
k(EventDispatcher.java:878)
at
org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDi
spatcher.java:732)
at
org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispat
cher.java:662)
at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3587)
at org.apache.felix.framework.Felix.access$000(Felix.java:40)
at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:625)
at
org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.j
ava:97)
at org.apache.felix.framework.Felix.registerService(Felix.java:2711)
at
org.apache.felix.framework.BundleContextImpl.registerService(BundleContextIm
pl.java:252)
at
org.apache.felix.framework.BundleContextImpl.registerService(BundleContextIm
pl.java:230)
at
org.apache.tuscany.sca.implementation.osgi.runtime.OSGiImplementationProvide
r$1.run(OSGiImplementationProvider.java:125)
at
org.apache.tuscany.sca.implementation.osgi.runtime.OSGiImplementationProvide
r$1.run(OSGiImplementationProvider.java:1)
at java.security.AccessController.doPrivileged(Native Method)
at
org.apache.tuscany.sca.implementation.osgi.runtime.OSGiImplementationProvide
r.start(OSGiImplementationProvider.java:120)
at
org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.start(Compo
siteActivatorImpl.java:510)
at
org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.start(Compo
siteActivatorImpl.java:475)
at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:148)
at
org.apache.tuscany.sca.osgi.remoteserviceadmin.impl.OSGiServiceImporter.impo
rtService(OSGiServiceImporter.java:71)
at
org.apache.tuscany.sca.osgi.remoteserviceadmin.impl.RemoteServiceAdminImpl.i
mportService(RemoteServiceAdminImpl.java:265)
at
org.apache.tuscany.sca.osgi.remoteserviceadmin.impl.TopologyManagerImpl.impo
rtService(TopologyManagerImpl.java:369)
at
org.apache.tuscany.sca.osgi.remoteserviceadmin.impl.TopologyManagerImpl.endp
ointAdded(TopologyManagerImpl.java:336)
at
org.apache.tuscany.sca.osgi.service.discovery.impl.AbstractDiscoveryService.
triggerCallbacks(AbstractDiscoveryService.java:197)
at
org.apache.tuscany.sca.osgi.service.discovery.impl.AbstractDiscoveryService.
endpointChanged(AbstractDiscoveryService.java:274)
at
org.apache.tuscany.sca.osgi.service.discovery.impl.DomainDiscoveryService.en
dpointAdded(DomainDiscoveryService.java:90)
at
org.apache.tuscany.sca.core.assembly.impl.EndpointRegistryImpl.addEndpoint(E
ndpointRegistryImpl.java:50)
at
org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.start(Compo
siteActivatorImpl.java:543)
at
org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.start(Compo
siteActivatorImpl.java:475)
at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:148)
at
org.apache.tuscany.sca.osgi.remoteserviceadmin.impl.OSGiServiceExporter.expo
rtService(OSGiServiceExporter.java:96)
at
org.apache.tuscany.sca.osgi.remoteserviceadmin.impl.RemoteServiceAdminImpl.e
xportService(RemoteServiceAdminImpl.java:123)
at
org.apache.tuscany.sca.osgi.remoteserviceadmin.impl.TopologyManagerImpl.expo
rtService(TopologyManagerImpl.java:181)
at
org.apache.tuscany.sca.osgi.remoteserviceadmin.impl.TopologyManagerImpl.addi
ngService(TopologyManagerImpl.java:147)
at
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker
.java:896)
at
org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261)
at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:233)
at
org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.j
ava:840)
at
org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallbac
k(EventDispatcher.java:878)
at
org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDi
spatcher.java:732)
at
org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispat
cher.java:662)
at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3587)
at org.apache.felix.framework.Felix.access$000(Felix.java:40)
at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:625)
at
org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.j
ava:97)
at org.apache.felix.framework.Felix.registerService(Felix.java:2711)
at
org.apache.felix.framework.BundleContextImpl.registerService(BundleContextIm
pl.java:252)
at
org.apache.felix.framework.BundleContextImpl.registerService(BundleContextIm
pl.java:230)
at
calculator.dosgi.operations.impl.OperationsActivator.start(OperationsActivat
or.java:68)
at
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.jav
a:640)
at org.apache.felix.framework.Felix.activateBundle(Felix.java:1700)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1622)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:915)
at
org.apache.felix.shell.impl.StartCommandImpl.execute(StartCommandImpl.java:1
14)
at
org.apache.felix.shell.impl.Activator$ShellServiceImpl.executeCommand(Activa
tor.java:286)
at org.apache.felix.shell.remote.Shell.run(Shell.java:109)
at java.lang.Thread.run(Thread.java:637)
Furthermore I tried to register a simple service (did nothing than returning
a value) as a web service via osgi bundle activator:
Node node;
public void start(BundleContext arg0) throws Exception {
node = NodeFactory.newInstance().createNode("bundle.composite",
this.getClass().getClassLoader());
node.start();
}
public void stop(BundleContext arg0) throws Exception {
node.stop();
}
I got the following error:
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at
org.apache.tuscany.sca.node.osgi.impl.OSGiNodeFactoryImpl.getNodeKey(OSGiNod
eFactoryImpl.java:129)
at
org.apache.tuscany.sca.node.impl.NodeFactoryImpl.addNode(NodeFactoryImpl.jav
a:113)
at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:115)
at launch.Launch.start(Launch.java:16)
at
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.jav
a:640)
at org.apache.felix.framework.Felix.activateBundle(Felix.java:1700)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1622)
at org.apache.felix.framework.Felix.setBundleStartLevel(Felix.java:1241)
at
org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:270)
at java.lang.Thread.run(Thread.java:637)
|#]
I also tried the cloud example (
https://svn.apache.org/repos/asf/tuscany/sandbox/sca-cloud-tutorial/)
mentioned before in this mailing list. When I deploy the war file
(store-catalog-ibmcloud-webapp.war) and point on the index.html file there
is the same IndexOutOfBounsException as above.
Does anyone has experience in combining glassfish and tuscany?
Thanks
Alex
Re: Maven Dependencies?
Posted by ant elder <an...@gmail.com>.
On Tue, Dec 8, 2009 at 2:10 PM, keinmensch <ke...@mailhaven.com> wrote:
> Hi!
> I am trying to figure out the Maven dependencies required for a Tuscany
> 2.0M4 project that:
> - Contains one composite with a few components.
> - Exposes one of the components as a SOAP web service.
>
> First I just want to say that everything works well if I include the
> tuscany-sca-manifest.jar file on the project classpath, but this is not
> the solution I want.
> With the following dependencies in the pom.xml (which I copied from the
> binding-ws-calculator):
> <dependency>
> <groupId>org.apache.tuscany.sca</groupId>
> <artifactId>tuscany-feature-api</artifactId>
> <type>pom</type>
> <version>2.0-M4</version>
> </dependency>
> <dependency>
> <groupId>org.apache.tuscany.sca</groupId>
> <artifactId>tuscany-feature-core</artifactId>
> <type>pom</type>
> <version>2.0-M4</version>
> </dependency>
> <dependency>
> <groupId>org.apache.tuscany.sca</groupId>
> <artifactId>tuscany-feature-webservice</artifactId>
> <type>pom</type>
> <version>2.0-M4</version>
> </dependency>
> <dependency>
> <groupId>org.apache.tuscany.sca</groupId>
> <artifactId>tuscany-feature-ejava</artifactId>
> <type>pom</type>
> <version>2.0-M4</version>
> </dependency>
>
> Then the following error occurs when trying to run the program starting
> the service:
>
> INFO: Loading contribution: file:/...
> Exception in thread "main" java.lang.IllegalStateException:
> java.lang.NoClassDefFoundError:
> edu/emory/mathcs/backport/java/util/concurrent/ConcurrentHashMap
> at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:176)
> at
> com.ivan.server.CalculatorServerStarter.main(CalculatorServerStarter.java:29)
> Caused by: java.lang.NoClassDefFoundError:
> edu/emory/mathcs/backport/java/util/concurrent/ConcurrentHashMap
> at
> org.apache.axis2.description.AxisDescription.<init>(AxisDescription.java:78)
> at
> org.apache.axis2.engine.AxisConfiguration.<init>(AxisConfiguration.java:148)
> at
> org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration(DeploymentEngine.java:639)
>
> So I add the backport-util-concurrent 3.0 JAR to the dependencies and
> then there is another error when I try to start the service:
>
> Exception in thread "main" java.lang.IllegalStateException:
> org.apache.tuscany.sca.runtime.ActivationException:
> org.apache.tuscany.sca.runtime.ActivationException:
> org.oasisopen.sca.ServiceRuntimeException: org.apache.axis2.AxisFault:
> org/apache/commons/fileupload/FileItemFactory
> at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:176)
> at
> com.ivan.server.CalculatorServerStarter.main(CalculatorServerStarter.java:29)
> Caused by: org.apache.tuscany.sca.runtime.ActivationException:
> org.apache.tuscany.sca.runtime.ActivationException:
> org.oasisopen.sca.ServiceRuntimeException: org.apache.axis2.AxisFault:
> org/apache/commons/fileupload/FileItemFactory
> at
> org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.activate(CompositeActivatorImpl.java:112)
> at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:145)
> ... 1 more
> Caused by: org.apache.tuscany.sca.runtime.ActivationException:
> org.oasisopen.sca.ServiceRuntimeException: org.apache.axis2.AxisFault:
> org/apache/commons/fileupload/FileItemFactory
> at
> org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.activateComponent(CompositeActivatorImpl.java:157)
> at
> org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.activate(CompositeActivatorImpl.java:109)
> ... 2 more
> Caused by: org.oasisopen.sca.ServiceRuntimeException:
> org.apache.axis2.AxisFault: org/apache/commons/fileupload/FileItemFactory
> at
> org.apache.tuscany.sca.binding.ws.axis2.Axis2ConfiguratorHelper.getAxis2ConfigurationContext(Axis2ConfiguratorHelper.java:74)
> at
> org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceProvider.<init>(Axis2ServiceProvider.java:178)
> at
> org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceBindingProvider.<init>(Axis2ServiceBindingProvider.java:65)
> at
> org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingProviderFactory.createServiceBindingProvider(Axis2BindingProviderFactory.java:65)
> at
> org.apache.tuscany.sca.provider.DefaultProviderFactoryExtensionPoint$LazyBindingProviderFactory.createServiceBindingProvider(DefaultProviderFactoryExtensionPoint.java:246)
> at
> org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.addServiceBindingProvider(CompositeActivatorImpl.java:286)
> at
> org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.activate(CompositeActivatorImpl.java:262)
> at
> org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl.activateComponent(CompositeActivatorImpl.java:148)
> ... 3 more
> Caused by: org.apache.axis2.AxisFault:
> org/apache/commons/fileupload/FileItemFactory
> at
> org.apache.tuscany.sca.binding.ws.axis2.TuscanyAxisConfigurator.getAxisConfiguration(TuscanyAxisConfigurator.java:159)
> at
> org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:68)
> at
> org.apache.tuscany.sca.binding.ws.axis2.TuscanyAxisConfigurator.getConfigurationContext(TuscanyAxisConfigurator.java:96)
> at
> org.apache.tuscany.sca.binding.ws.axis2.Axis2ConfiguratorHelper$1.run(Axis2ConfiguratorHelper.java:62)
>
> I am 100% sure that this is a problem with a missing dependency, but
> from the above, I cannot for the world tell what is missing.
> So I now ask if anyone has a clue to what dependencies I should include
> to solve the above problems?
> If nothing else, I will be very grateful for the "include all"
> dependencies declarations to include in my pom.xml.
> Many thanks in advance!
> Ivan
>
That error looks like its missing commons-fileupload-1.2.jar.
I'm not sure why thats not getting picked up as a transitive
dependency, it could be your environment or perhaps there's something
wrong with the tuscany-feature-webservice, but i dont think samples
should be using those features like that as they're intended for
creating distributions.
What happens if you try using these dependencies:
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-domain-node</artifactId>
<version>2.0-M4</version>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-host-jetty</artifactId>
<version>2.0-M4</version>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-ws-axis2</artifactId>
<version>2.0-M4</version>
</dependency>
...ant