文章分类 -  OSGI

摘要:获取服务有两种方式: ①用引用获取; ②用服务跟踪器获取。 阅读全文
posted @ 2022-05-14 11:21 `安安安安安 阅读(161) 评论(0) 推荐(0)
摘要:可以直接注册,也可以使用服务工厂注册。 ①直接注册: public void start(BundleContext bundleContext) throws Exception { Activator.context = bundleContext; EnHelloworld hs = new 阅读全文
posted @ 2022-05-14 11:18 `安安安安安 阅读(78) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2022-05-12 19:37 `安安安安安 阅读(14) 评论(0) 推荐(0)
摘要:bundle的类加载器用来加载该bundle中的类和资源。 其中,类加载器在加载类时:Import-packages和Require-Bundle大于Bundle-Classpath。 这种设定是ClassNotFoundException的罪魁祸首之一: 具体的类加载顺序: ... 阅读全文
posted @ 2022-05-12 18:39 `安安安安安 阅读(131) 评论(0) 推荐(0)
摘要:如图: 依照深度优先的原则,包存在循环导出的情况。这种情况,实际中并不会出现问题,因为OSGI框架采用了类似深度优先遍历算法的处理方法,对已经遍历过的节点打上标记,就不会出现循环了。 阅读全文
posted @ 2022-05-12 15:56 `安安安安安 阅读(23) 评论(0) 推荐(0)
摘要:设存在bundleA, 在导入的时候,很容易出现错误。 概念一:包的“拆分”:当存在多个bundle导出了同一个包p时,就说此时存在包的"拆分",此时需要根据依赖规则进行设置筛选,否则会出错。 筛选优先级:Import-Packages = uses > Require-Bundle。如果采用这三种 阅读全文
posted @ 2022-05-12 15:13 `安安安安安 阅读(22) 评论(0) 推荐(0)