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


Reply via email to