I tried your solution, by installing and starting the URL Handler, and then
adding “ipojo://” part to my bundle installation file path as the following,
Bundle online_manipulator =
bundleContext1.installBundle("http://repo1.maven.org/maven2/org/apache/felix/org.apache.felix.ipojo.online.manipulator/1.6.0/org.apache.felix.ipojo.online.manipulator-1.6.0.jar");
online_manipulator.start();
if(online_manipulator .getState()== Bundle.ACTIVE)
System.out.println("URL Handler Bundle is Active!");
bundleContext.installBundle(“ipojo://file:C:\Users\zaid.almahmoud\Desktop\plugins\MyComponent.jar”);
When I run my program, the online manipulator bundle is started successfully,
but then I get the following error:
org.osgi.framework.BundleException: Unable to cache bundle:
ipojo://file:C:\Users\zaid.almahmoud\Desktop\plugins\MyComponent.jar
Caused by: java.net.MalformedURLException: Unknown protocol: ipojo
What am I missing here? Thanks.
-----Original Message-----
From: Clement Escoffier [mailto:[email protected]]
Sent: 08 آذار, 2014 05:11 م
To: Apache Felix - Users Mailing List
Subject: Re: Creating PrimitiveComponentType without importing iPOJO required
Packages
Hi,
You need to install the iPOJO url handler alson called online manipulator:
http://central.maven.org/maven2/org/apache/felix/org.apache.felix.ipojo.manipulator.online/1.11.1/org.apache.felix.ipojo.manipulator.online-1.11.1.jar
Move information on:
http://felix.apache.org/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/apache-felix-ipojo-online-manipulator.html
Regards,
Clement
On 8 mars 2014, at 12:11, Zaid Jamal Saeed Al Mahmoud
<[email protected]> wrote:
> Hey, I have the following issue:
>
> In my OSGI bundle, I create a Component Type using iPOJO API as the following:
>
> public void start(BundleContext context) throws Exception {
>
>
> type = new PrimitiveComponentType().setBundleContext(context)
> .setComponentTypeName("someType")
> .setClassName("my.class.Name")
> .setImmediate(true);
> type.start();
>
> instance = type.createInstance();
>
>
>
> }
>
> Now, according to this source,
> http://mail-archives.apache.org/mod_mbox/felix-users/201204.mbox/%3C1F
> [email protected]%3E
> iPOJO manipulation rely on some classes of org.apache.felix.ipojo, and so I
> need to import this package. All bundles intended to have iPOJO component,
> need to import: org.apache.felix.ipojo and
> org.apache.felix.ipojo.architecture.
>
> For some reason, I don’t like to import these packages from my bundle. I want
> my bundle to have iPOJO component without importing any iPOJO-related
> packages.
>
> Although the answer in the link continues saying:
>
> To avoid this manual import you can:
> - use the iPOJO url handler and so install the bundle with:
> ipojo://file:/the.path.to.my.bundle.jar
>
> I tried the above solution, by adding “ipojo://” part to my bundle
> installation file path as the following,
>
>
> bundleContext.installBundle(“ipojo://file:C:\Users\zaid.almahmoud\Desk
> top\plugins\MyComponent.jar”);
>
>
> but when I run my program, I get the following error:
>
>
> org.osgi.framework.BundleException: Unable to cache bundle:
> ipojo://file:C:\Users\zaid.almahmoud\Desktop\plugins\MyComponent.jar
> Caused by: java.net.MalformedURLException: Unknown protocol: ipojo
>
>
>
> What am I missing here? Thanks.
>
>
> Kind Regards,
> Zaid Almahmoud
> Research Assistant
>
> Khalifa University of Science, Technology, and Research Abu Dhabi -
> United Arab Emirates
> TEL: 00971-2-401-8178
> MOB: 00971-50-9619601
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]