当前位置: 首页 > news >正文

网上国网推广方案怎么写/福州seo管理

网上国网推广方案怎么写,福州seo管理,网站建设要注意那些问题,淘宝客网站建设很多文章里都提到了OSGi的热部署特性,但是很少有实例去演示它。 所谓热部署,就是在不停止服务运行时(或者说在不影响用户体验前提下)动态更新其服务内容,最终达到100%在线率的目标。而Java中,由于类加载机制…

很多文章里都提到了OSGi的热部署特性,但是很少有实例去演示它。

 

所谓热部署,就是在不停止服务运行时(或者说在不影响用户体验前提下)动态更新其服务内容,最终达到100%在线率的目标。而Java中,由于类加载机制的原因,导致一个类一旦加载进去就再也无法释放,因此,OSGi引入了基于插件的类加载机制,举例说明:plugin1里有examples.Test1类,而pulgin2里也有examples.Test1类,在载入这两个插件时,两个类是可以同时载入进入到类缓存中,这归功于OSGi实现的插件类加载器(ClassLoader),具体大家可以查看BlueDavy的《OSGi实战》和《OSGi进阶》两本电子书,我就不在这里费口舌了。

 

OSGi中,实现热部署最关键的方式就是使用服务 (Service),例如,我们要注册一个服务:

Java代码  收藏代码
  1. // 代码1  
  2. // BundleContext context ...  
  3. context.registerService("examples.Test""world"null);  

这样,就注册了名称为“examples.Test”,值为“world”的服务,其他依赖的插件们,只需要使用下面代码即可以调用:

Java代码  收藏代码
  1. // 代码2  
  2. // BundleContext context ...  
  3. Object rtn = context.getService(context.getServiceReference("examples.Test"));  

好了,这些都是基础部分,下面看看如何来实现热部署的。

 

假设,我有一个插件为 examples_1.0.0,表示为 examples 插件且版本为1.0.0版,它里面使用【代码1】注册服务之后,其他依赖的插件们使用【代码2】调用“examples.Test”服务后返回的是“world”。经过一段时间运行后,运营人员发现“examples.Test”服务的值应该是“hello”,而不是“world”,这个bug就被找出。因此,开发人员就更新了 examples 插件,并升级版本为 1.0.1,代码内容改变如下:

Java代码  收藏代码
  1. // 代码3  
  2. // BundleContext context ...  
  3. context.registerService("examples.Test""hello"null);  

使用OSGi运行环境安装了 examples_1.0.1 插件之后,根据热部署的概念,按道理说依赖的插件们使用【代码2】调用的结果应该是“hello”才对,有一些OSGi实现确实是这么做的,但是一些主流的实现(如 equinox 等)返回的其实还是原来“world”,这是为什么呢?

 

这其实是 Service Ranking 搞的鬼,默认情况下,每个服务的 Service Ranking 都为 0(零),因此,在注册同名服务时,默认加载第一个注册的服务。因此,为了让依赖的插件们加载最新的 examples_1.0.1 插件所提供的服务,我们需要把【代码3】进行如下修改:

Java代码  收藏代码
  1. // 代码4  
  2. // BundleContext context ...  
  3. Dictionary props = new Dictionary();  
  4. props.put(org.osgi.framework.Constants.SERVICE_RANKING, new Integer(100));  
  5. context.registerService("examples.Test""hello", props);  

我们把“examples.Test”服务的 Service Ranking 属性更改成了 100(任何比所有其他服务的Service Ranking都大的值) 之后,该服务的排名就会排到最前面,依赖 examples 的插件们再使用【代码3】调用服务后,就返回了我们想要的“hello”字符串。

 

这也就是说,在不需要停止服务和其他插件都不用更新的情况下,我们只需要再安装一个更新版本的插件,其所注册的服务就可以自动更新并应用到所有调用该插件的插件中,达到了热部署的目的。

但是OSGI的热部署还存在很多问题,具体可以看我的另一篇文章:http://blog.csdn.net/huakai_sun/article/details/78112493

http://www.jmfq.cn/news/4823767.html

相关文章:

  • 沈阳外贸网站建设/广告开户南京seo
  • 做网站需要平台/广东东莞疫情最新消息今天又封了
  • 慈溪做网站的公司/青岛网络推广公司哪家好
  • 北京微网站建设设计服务/品牌线上推广方式
  • 做爰全过程的视频的网站/国家高新技术企业
  • 建网站用什么工具/百度客户端登录
  • 网站开发部署/网店seo关键词
  • 对新网站做seo大概需要多久/竞价账户托管哪家好
  • 哈尔滨口碑好的网站建设/百度网盘搜索引擎入口哪里
  • 雅安网站制作/西安百度推广公司
  • 自己ip做网站/神马seo服务
  • python做网站开发/子域名大全查询
  • 个人介绍微电影网站模板/临沂森佳木业有限公司
  • 长沙做网站建设公司排名/新闻20条摘抄大全
  • 自己创建网站/网络服务器的功能
  • 网站排名怎么做/seo程序
  • 网站维护服务公司/网站收录工具
  • 中华人民住房和城乡建设厅网站/社群营销怎么做
  • 17网站一起做网店官网/电子商务网络营销
  • 西安天气最新公布/seo编辑招聘
  • 兰州百度推广的公司/东莞做网站优化
  • 做愛表情网站/域名ip查询查网址
  • 做定制网站多少钱/seo投放是什么意思
  • 安全的政府网站建设/电脑培训班有哪些科目
  • 新闻网站建设的原因/google adwords关键词工具
  • 仿糗事百科网站源码dede二次开发分享+评论+互动/今日热搜榜排名最新
  • 网站控制/推广怎么做
  • 武汉做网站的公司哪家好/seo运营经理
  • 供应链平台/汕头搜索引擎优化服务
  • 做网站的感想/百度一下知道官网