2011/10/31 Gareth Collins <[email protected]>:
> Hello Aki,
>
> You have the Pax URL classpath bundle installed?:
>
> http://search.maven.org/#artifactdetails|org.ops4j.pax.url|pax-url-classpath|1.3.5|bundle

Hi Gareth,
thanks. This was the missing piece.

After installing this bundle, it's working fine.

Thanks.

regards, aki

>
> regards,
> Gareth
>
> On Mon, Oct 31, 2011 at 12:57 PM, Aki Yoshida <[email protected]> wrote:
>> Hi,
>> I am new to blueprint and encountered this problem while trying to
>> update a spring bean configuration into its equivalent blueprint
>> version. The problem is that I cannot set a bean property of URL type
>> with a classpath URL value.
>>
>> This bean has a URL attribute "location" and has method
>> setLocation(URL location).
>>
>> In spring, I can simply pass a classpath URL value to this attribute as in
>>
>>  <bean ...>
>>   <property name="location" value="classpath:path/file.txt" />
>>   ...
>>  </bean>
>>
>> In this case, I can see this value gets converted into
>> "bundle://146.0:1/path/file.txt" (on karaf) and the location attribute
>> of my bean gets set with this URL value.
>>
>> In blueprint, this value conversion is not taking place and it is
>> resulting in the following exception in the log:
>>
>> Caused by: java.net.MalformedURLException: Unknown protocol: classpath
>>       at java.net.URL.<init>(URL.java:601)[:1.6.0_24]
>>       at java.net.URL.<init>(URL.java:464)[:1.6.0_24]
>>       at java.net.URL.<init>(URL.java:413)[:1.6.0_24]
>>       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>> Method)[:1.6.0_24]
>>       at 
>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)[:1.6.0_24]
>>       at 
>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)[:1.6.0_24]
>>       at 
>> java.lang.reflect.Constructor.newInstance(Constructor.java:513)[:1.6.0_24]
>>       at 
>> org.apache.aries.blueprint.utils.ReflectionUtils.newInstance(ReflectionUtils.java:258)[9:org.apache.aries.blueprint:0.3.1]
>>       at 
>> org.apache.aries.blueprint.container.AggregateConverter.createObject(AggregateConverter.java:307)[9:org.apache.aries.blueprint:0.3.1]
>>       ... 24 more
>> 2011-10-31 13:20:44,516 | DEBUG | rint Extender: 3 |
>> BlueprintEventDispatcher    | ntainer.BlueprintEventDispatcher  123 |
>> 9 - org.apache.aries.blueprint - 0.3.1 | Sending blueprint container
>> event BlueprintEvent[type=FAILURE, exception=Error setting property:
>> PropertyDescriptor <name: location, getter: public java.net.URL
>> tmp.test.osgi.blueprint.Client01.getLocation(), setter: [public void
>> tmp.test.osgi.blueprint.Client01.setLocation(java.net.URL)]] for
>> bundle tmp.test-bp-01
>>
>>
>> Could someone tell me if I am missing something in my configuration or
>> if this is a known limitation?
>>
>> Regards, Aki
>>
>

Reply via email to