我们提供 apkplug 下OSGI使用demo 源码托管地址为http://git.oschina.net/plug/OSGIService

一 需求

通过 <<apkplug中OSGI服务基本原理-08>>我们知道怎样注册于查询OSGI Service。但查询方式必须在Service启动以后才能使用,而有时我们并不知道Service何时启动,而只需要在Service启动以后能立即获取到并使用。OSGI提供监听器的形式动态监听指定Service的注册于注销过程。

二OSGI Service 监听代码

view sourceprint?
01 privateServiceReference ref=null;
02 privateprintLog service=null;
03 context.addServiceListener(
04 newServiceListener(){
05 @Override
06 publicvoidserviceChanged(ServiceEvent event) {
07 switch(event.getType()) {
08 caseServiceEvent.REGISTERED:
09 //服务注册
10 if(ref ==null) {
11 ref = event.getServiceReference();
12 service = (printLog) context.getService(ref);//保存实例以备后续访问
13 }
14 break;
15 caseServiceEvent.UNREGISTERING:
16 //服务注销
17 if(ref == event.getServiceReference()) {
18 context.ungetService(ref);//释放实例
19 service =null;
20 ref =null;
21 }
22 break;
23 }
24 }
25 },"(objectclass=com.apkplug.osgi.service.printLog)");//服务名称

更多相关文章

  1. Java与C互相调用实例详解
  2. java漏洞成黑客目标微软呼吁用户更新软件
  3. JSP访问类实例
  4. WebService之基于REST机制的实现实例(Java版)
  5. FilenameFilter文件名过滤器使用实例
  6. Java web环境配置和Servlet实例HelloWorld
  7. 急求用jersey2.x+spring3.x 开发rest webservice Java代码实例
  8. java高并发测试实例(精确到几百纳秒)
  9. Java经典设计模式(1):五大创建型模式(附实例和详解)

随机推荐

  1. sql2000 第一次执行慢
  2. SQL 在线 UML 设计器 — 使用详解
  3. 我应该如何选择一列与另一列相关的语句?
  4. oralce 解除锁定的表
  5. 文件转换 - .mwb到.sql文件
  6. 返回没有匹配条目的所有日期
  7. SQL2000数据库脱机/只读/紧急模式 修复
  8. Oracle 00932. 00000 - “不一致的数据
  9. java中sql查询条件为中文时,rs.next为fals
  10. 没有必要去指定SqlSessionFactory或SqlSe