OSGI应用问题请教
说实际例子吧。
现在有一个框架Bundle A,一个业务的 Bundel B。
Bundle A中使用了一个第三发组件,我们假设有一个类为Manager。
Manager有一个接口注册函数。
Manager.registerFunction (String alias, String functionName); // functionName包含函数的完整路径 package.class.function
这个第三方组件自然是被Bundle A的class loader加载了。
现在Bundle B 有一个方法要注册。假设为
class Demo
{
public static function ();
}
此时Bundle B初始化时使用
Manager.instance.registerFunction ("function", "packageB.Demo.function");注册函数。
但是由于Demo类是Bundle B 的class loader加载的。所以注册后在第三方软件使用倒function时去反射,就是找不到Demo这个类。
同时又不可能在框架的MAINFEST.MF文件中增加import 业务的Bundle。