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/%[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 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:[email protected]]<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