毕业论文
您现在的位置: 框架 >> 框架资源 >> 正文 >> 正文

死磕OSGI热插拔技术

来源:框架 时间:2022/9/24
北京皮炎治疗好医院 https://m-mip.39.net/czk/mipso_8811252.html

有人说OSGI技术把Java类加载机制推到了一个不可驾驭的新高度。这言辞虽然有些刚强,不过足见OSGI技术在Java类加载领域的难度。OSGI,是OpenServiceGatewayInitiative的简称,是一个由OSGiAlliance发起的以Java为技术平台的动态模块化规范。ApacheKaraf是一个基于OSGI的运行环境,提供了一个轻量级的OSGI容器。它具有如下特性

热部署将文件放置到部署目录,Karaf会探测文件的类型然后尝试部署文件完备的控制台Karaf提供一个完备的类Unix控制台。你可以基于控制台管理容器动态配置Karaf提供一组命令来管理自己的配置。配置文件位于etc目录下日志管理Karaf支持主流的日志框架(slf4j,log4j等)服务供给Karaf支持使用Maven仓库、HTTP、本地文件等URL来安装应用。它提供了KarafFeatures的概念来描述应用远程访问Karaf集成了一个SSHd服务器,允许远程使用控制台安全Karaf提供一个基于JAAS完整的安全框架,同时对控制台和JMX的文档提供RBAC机制OSGI框架实现弱耦合Karaf没有强耦合OSGI框架实现。缺省情况,Karaf运行在Felix上,但是也可容易地切换到Equinox框架到目前为止,ApacheKaraf项目包含四个主要的子项目。它们分别是KarafRuntime,KarafCellar,KarafCave和KarafDecanter。

KarafRuntime

KarafRuntime是现代的、多样的应用运行时。它是轻量的、强大的、企业级的。多样性也就是说Karaf能够处理任何类型的应用:WAR、Spring、OSGI等。Karaf可以用作一个独立的不可变的应用运行时,可以用作一个远程控制的可变运行时。

KarafCellar

KarafCellar是karaf的一个集群解决方案。它允许你管理多个karaf实例,并在多个实例间进行同步。Cellar有如下特性:

服务发现每个karaf节点可以被其它节点自动发现,支持多种不同的发现机制(多播、单播、白板等)集群分组你可以使用集群分组指定在某一组节点之间进行同步资源分发和同步Cellar可以在节点之间同步、分发应用(features、bundles、以及非OSGI应用)、配置以及本地事件DOSGICellar支持分布式OSGI,允许在你的应用之间实现远程调用

KarafCave

KarafCave是OSGI仓库规范的一个是实现。此外,KarafCave还提供了如Maven仓库支持、使用RESTAPI管理及支持远程仓库代理等额外的特性。KarafCave提供如下特性

存储Cave包含一个存储后台。缺省的存储是一个简单的文件系统后台。Cave后台使用插件方式设计,你能实现自己的后台,如JDBC、LDAP后台仓库元数据生成Cave为你创建仓库元数据Maven支持Cave仓库是一个完备的Maven仓库RESTAPICave提供RESTAPI来操作仓库Artifact上传你能够上传OSGIbundle到Cave仓库。它支持多种URL,如mvn:groupId/artifactId/version,file:,

转载请注明:http://www.0431gb208.com/sjslczl/1891.html