hi graham!
thanks a lot for your help! i'm also trying to solve the problem.
regards,
frank
> Hi Frank,
>
> No good news at the moment. I've managed to reproduce what you're
> seeing, but don't have much time to dig into the reason. I'll plug
> away at it in what spare time I can find, and let you know any
> progress.
>
> Regards, Graham.
>
> 2008/9/9 Frank Egger <[EMAIL PROTECTED]>:
>> dear graham,
>>
>> i fixed the build file and also set the system property to a
>> felix.configuration-file. the output i get now is as follows. it seams
>> that the ds-support is working, but there is still a problem with
>> missing
>> classes. is this a classloader issue?
>>
>> regards,
>> frank
>>
>> run:
>> [java] Main thread Thread[main,5,main]
>> [java] *DEBUG* Scheduling task ManagedService Update:
>> pid=CustomerComponent
>> [java] *DEBUG* Running task ManagedService Update:
>> pid=CustomerComponent
>> [java] ERROR: ds.supplychain.customer.Customer (5):
>> [CustomerComponent] Cannot load class used as parameter
>> supplychain.retailer.Retailer
>> [java] java.lang.ClassNotFoundException:
>> supplychain.retailer.Retailer
>> [java] at
>> org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1504)
>> [java] at
>> org.apache.felix.framework.Felix.loadClass(Felix.java:596)
>> [java] at
>> org.apache.felix.scr.impl.DependencyManager.getBindingMethod(DependencyManager.java:735)
>> [java] at
>> org.apache.felix.scr.impl.DependencyManager.invokeBindMethod(DependencyManager.java:828)
>> [java] at
>> org.apache.felix.scr.impl.DependencyManager.bind(DependencyManager.java:651)
>> [java] at
>> org.apache.felix.scr.impl.ImmediateComponentManager.createImplementationObject(ImmediateComponentManager.java:203)
>> [java] at
>> org.apache.felix.scr.impl.ImmediateComponentManager.createComponent(ImmediateComponentManager.java:133)
>> [java] at
>> org.apache.felix.scr.impl.AbstractComponentManager.activateInternal(AbstractComponentManager.java:476)
>> [java] at
>> org.apache.felix.scr.impl.AbstractComponentManager.enableInternal(AbstractComponentManager.java:398)
>> [java] at
>> org.apache.felix.scr.impl.AbstractComponentManager.access$000(AbstractComponentManager.java:36)
>> [java] at
>> org.apache.felix.scr.impl.AbstractComponentManager$1.run(AbstractComponentManager.java:99)
>> [java] at
>> org.apache.felix.scr.impl.ComponentActorThread.run(ComponentActorThread.java:85)
>> [java] ERROR: ds.supplychain.customer.Customer (5):
>> [CustomerComponent] Cannot load class used as parameter
>> supplychain.retailer.Retailer
>> [java] java.lang.ClassNotFoundException:
>> supplychain.retailer.Retailer
>> [java] at
>> org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1504)
>> [java] at
>> org.apache.felix.framework.Felix.loadClass(Felix.java:596)
>> [java] at
>> org.apache.felix.scr.impl.DependencyManager.getBindingMethod(DependencyManager.java:735)
>> [java] at
>> org.apache.felix.scr.impl.DependencyManager.getBindingMethod(DependencyManager.java:794)
>> [java] at
>> org.apache.felix.scr.impl.DependencyManager.invokeBindMethod(DependencyManager.java:828)
>> [java] at
>> org.apache.felix.scr.impl.DependencyManager.bind(DependencyManager.java:651)
>> [java] at
>> org.apache.felix.scr.impl.ImmediateComponentManager.createImplementationObject(ImmediateComponentManager.java:203)
>> [java] at
>> org.apache.felix.scr.impl.ImmediateComponentManager.createComponent(ImmediateComponentManager.java:133)
>> [java] at
>> org.apache.felix.scr.impl.AbstractComponentManager.activateInternal(AbstractComponentManager.java:476)
>> [java] at
>> org.apache.felix.scr.impl.AbstractComponentManager.enableInternal(AbstractComponentManager.java:398)
>> [java] at
>> org.apache.felix.scr.impl.AbstractComponentManager.access$000(AbstractComponentManager.java:36)
>> [java] at
>> org.apache.felix.scr.impl.AbstractComponentManager$1.run(AbstractComponentManager.java:99)
>> [java] at
>> org.apache.felix.scr.impl.ComponentActorThread.run(ComponentActorThread.java:85)
>> [java] ERROR: ds.supplychain.customer.Customer (5):
>> [CustomerComponent] bind() method not found
>> [java] Exception in thread "main" java.lang.NullPointerException
>> [java] at
>> supplychain.customer.OSGiCustomerComponentImpl.purchaseGoods(OSGiCustomerComponentImpl.java:42)
>> [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> Method)
>> [java] at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>> [java] at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> [java] at java.lang.reflect.Method.invoke(Method.java:597)
>> [java] at
>> org.apache.tuscany.sca.implementation.osgi.invocation.OSGiTargetInvoker.invokeMethod(OSGiTargetInvoker.java:173)
>> [java] at
>> org.apache.tuscany.sca.implementation.osgi.invocation.OSGiTargetInvoker.invokeTarget(OSGiTargetInvoker.java:145)
>> [java] at
>> org.apache.tuscany.sca.implementation.osgi.invocation.OSGiTargetInvoker.invoke(OSGiTargetInvoker.java:190)
>> [java] at
>> org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)
>> [java] at
>> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:287)
>> [java] at
>> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
>> [java] at $Proxy7.purchaseGoods(Unknown Source)
>> [java] at
>> supplychain.SupplyChainClient.main(SupplyChainClient.java:41)
>> [java] Java Result: 1
>>
>>> Hi Frank,
>>>
>>> I've not been able to run the osgi supplychain sample due to other
>>> reasons, but during my investiguations I spotted the following in the
>>> build.xml file
>>>
>>> <jar jarfile="target/classes/DSRetailer.jar"
>>> manifest="target/classes/osgi/ds/Retailer.mf" >
>>> <fileset dir="target/classes"
>>> includes="supplychain/retailer/Retailer.class \
>>> Vosgi/ds/Retailer.xml \
>>>
>>> supplychain/retailer/OSGiRetailerComponentImpl.class"
>>> />
>>>
>>> You'll see that there is a spurious "V" at the start of the forth
>>> line, which should not be there. This is line 78 in the file.
>>>
>>> Also, looking at your exception, the OSGi runtime used to host the
>>> implementation.osgi components appears to be missing the declarative
>>> services support. This is added through a config file, which in the
>>> case of this sample does not appear to exist. Look for files call
>>> felix.config.properties for examples. You would also need to set the
>>> system property felix.config.properties to point to your configuration
>>> file. The line which configures in the Service Component Runtime for
>>> itest/osgi-implementation is
>>>
>>> felix.auto.start.1= \
>>>
>>> "file://${FELIX_DIR}/org.apache.felix.scr/1.0.2/org.apache.felix.scr-1.0.2.jar"
>>> \
>>>
>>> "file://${FELIX_DIR}/org.apache.felix.configadmin/1.0.1/org.apache.felix.configadmin-1.0.1.jar"
>>>
>>> If you look for files call OSGiTestUtil.java , they show the System
>>> property being configured like this:
>>>
>>> String felixConfigFileName =
>>> "file:target/test-classes/osgi/felix/felix.config.properties";
>>> System.setProperty("felix.config.properties",
>>> felixConfigFileName);
>>>
>>> I think this sample needs a bit of an overhaul. I hope this helps.
>>>
>>> Regards, Graham.
>>
>>
>>
>