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/%3c1fccf246-db56-4e86-a0ee-7e57ec96d...@gmail.com%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 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.


Kind Regards,
Zaid Almahmoud
Research Assistant
[cid:image001.png@01CE4FB8.E6C8A910]<http://www.ebtic.org/>
Khalifa University of Science, Technology, and Research
Abu Dhabi - United Arab Emirates
TEL: 00971-2-401-8178
MOB: 00971-50-9619601

Reply via email to