3.6和3.7osgi入门

上传人:第*** 文档编号:33582664 上传时间:2018-02-15 格式:DOC 页数:6 大小:61KB
返回 下载 相关 举报
3.6和3.7osgi入门_第1页
第1页 / 共6页
3.6和3.7osgi入门_第2页
第2页 / 共6页
3.6和3.7osgi入门_第3页
第3页 / 共6页
3.6和3.7osgi入门_第4页
第4页 / 共6页
3.6和3.7osgi入门_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《3.6和3.7osgi入门》由会员分享,可在线阅读,更多相关《3.6和3.7osgi入门(6页珍藏版)》请在金锄头文库上搜索。

1、对于 bundle 使用1:视频 60:30 分钟如何快速查找自己的工程进行管理 ?2;会不会出现版本过低问题:影响使用?3,相当于我们自己写架包直接用,那么服务器功能模块是否全部写入架包中,服务端只是获取客户端数据调用架包来实现相应功能,类似于封装调用?4上面的这段XML表示我要声明一个名为SingASong的Component,其实现类为needservicebundle.SingASong,引用了服务 servicebundle.ISayAnyThing,并将其引用命名为Say,在引用服务成功后,会调用绑定方法setSayAnyThing将其注入到needservicebundle.Si

2、ngASong 类中,在被引用的服务停止时,会执行unSetSayAnyThing方法,cardinality=1.1表示这个Component对其被引用服务强制依赖,必须至少有一个被引用服务存在时Component才能启动;policy=dynamic表示当被引用服务变动时,会重新调用set和unset方法,但是Component不会重新生成。reference元素的各个属性的具体意义和选错误:丢失问题,自以为是随意改动,引以为戒新建bundle接口:新建接口interface实现接口:新建类class,implements实现接口封装bundle其他调用:新建osgi-inf文件夹,里面新

3、建xml文件,配置manifest-mf里面Service-Component: OSGI-INF/work.xml;,xml配置:这边新建SingASongpublic class SingASong ISayAnyThing sayAnyThing;public void activate(ComponentContext ctxt)sayAnyThing.sayHello(O.O.O.Only you.);/调用方法public void deactivate(ComponentContext ctxt)sayAnyThing.sayHello(O.O.O个头.);public ISay

4、AnyThing getSayAnyThing() return sayAnyThing;public void setSayAnyThing(ISayAnyThing sayAnyThing) this.sayAnyThing = sayAnyThing;/寻找类System.out.println(注入服务成功!);public void unSetSayAnyThing(ISayAnyThing sayAnyThing) this.sayAnyThing = null;System.out.println(注销服务成功!);Bundle里面的xml配置:Service-Component

5、: OSGI-INF/componets.xml这边匹配SingASongOsgi与spring整合:Osgi配置:Spring-Context: SPRING-INF/springservice.xmlSpring。Xml里面配置Spring。Xml里面配置:/监听器,启动时用,结束时也用对影SingASong方法:public class SingASong ISayAnyThing sayAnyThing;public void onBind(ISayAnyThing sayAnyThing, Map argMap)System.out.println(SingASong监听器方法启动,

6、绑定+sayAnyThing.getClass().getName();this.sayAnyThing=sayAnyThing;sayAnyThing.sayHello(绑定后开始工作了,调用ISayAnyThing );public void onUnBind(ISayAnyThing sayAnyThing, Map argMap)System.out.println(SingASong监听器方法启动,解除绑定+sayAnyThing.getClass().getName();this.sayAnyThing=sayAnyThing;sayAnyThing.sayHello(解除绑定了,

7、调用ISayAnyThing);工作流程:swt做前台,Spring和osgi做接收数据并进行调用数据库增删改查操作,与Hibernate整合Manifest-Version: 1.0Bundle-ManifestVersion: 2Bundle-Name: ServiceBundle Plug-inBundle-SymbolicName: ServiceBundleBundle-Version: 1.0.0Bundle-Activator: servicebundle.ActivatorBundle-Vendor: ApolloEclipse-LazyStart: trueImport-Pa

8、ckage: com.mchange.v2.c3p0;version=0.9.1.2,org.dom4j;version=1.6.1,org.dom4j.io;version=1.6.1,org.hibernate;version=3.2.6.ga,org.hibernate.action;version=3.2.6.ga,org.hibernate.cfg;version=3.2.6.ga,org.hibernate.criterion;version=3.2.6.ga,org.hibernate.proxy;version=3.2.6.ga,org.hibernate.type;versi

9、on=3.2.6.ga,org.osgi.framework;version=1.4.0,org.springframework.aop;version=2.5.6.A,org.springframework.aop.aspectj;version=2.5.6.A,org.springframework.aop.aspectj.annotation;version=2.5.6.A,org.springframework.aop.aspectj.autoproxy;version=2.5.6.A,org.springframework.aop.config;version=2.5.6.A,org

10、.springframework.aop.framework;version=2.5.6.A,org.springframework.aop.framework.adapter;version=2.5.6.A,org.springframework.aop.framework.autoproxy;version=2.5.6.A,org.springframework.aop.framework.autoproxy.target;version=2.5.6.A,org.springframework.aop.interceptor;version=2.5.6.A,org.springframew

11、ork.aop.scope;version=2.5.6.A,org.springframework.aop.support;version=2.5.6.A,org.springframework.aop.support.annotation;version=2.5.6.A,org.springframework.aop.target;version=2.5.6.A,org.springframework.aop.target.dynamic;version=2.5.6.A,org.springframework.beans.factory;version=2.5.6.A,org.springf

12、ramework.beans.factory.config;version=2.5.6.A,org.springframework.core;version=2.5.6.A,org.springframework.dao.support;version=2.5.6.A,org.springframework.jdbc.datasource;version=2.5.6.A,org.springframework.orm.hibernate3;version=2.5.6.A,org.springframework.orm.hibernate3.support;version=2.5.6.A,org

13、.springframework.transaction;version=2.5.6.A,org.springframework.transaction.annotation;version=2.5.6.A,org.springframework.transaction.aspectj;version=2.5.6.A,org.springframework.transaction.config;version=2.5.6.A,org.springframework.transaction.interceptor;version=2.5.6.A,org.springframework.transaction.jta;version=2.5.6.A,org.springframework.transaction.support;version=2.5.6.AExport-Package: servicebundleDynamicImport-Package: *Spring-Context: SPRING-INF/springservice.xml可以看到,在Import-Package条目中我增加了很多使用Hibernate的依赖包;另外还增加了一行DynamicImport-Package,这个设置可以避免一些在运行时找不到一些必须包的错误。37

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号