Apache Felix

[插件化开发] 1. 初识OSGI

[亡魂溺海] 提交于 2019-11-30 14:57:50
初识 OSGI 背景 当前product是以solution的方式进行售卖,但是随着公司业务规模的快速夸张,随之而来的是新客户的产品开发,老客户的产品维护,升级以及修改bug,团队的效能明显下降,为了解决此类问题,必须站在公司战略的统一高度来重构系统。 荣幸的是,本人在此时加入团队并负责系统架构的升级与重构工作。因为公司在全世界都有客户,而且客户又来自于各行各业,带来的问题就是如何抽离公共业务的同时,又能不影响客户的定制化需求开发?产品团队专注于系统的核心逻辑开发,而一些定制化需求交付给global team 去开发? 选型 技术没有银弹,目前没有完全确定要使用OSGI的方式来实现,因为本人之前使用Spring Cloud & Spring Cloud Alibaba各实现了一种demo, 当然也可以实现我们的服务化,高可用以及动态扩展。但是在解决插件定制化这块,相对来说还是不太熟悉,然后OSGI进入眼帘了。 OSGI 简介 OSGI 是 <u>O</u>pen <u>S</u>ervice <u>G</u>ateway <u>I</u>nitiative(开发服务网关协议)。 指维护OSGI规范的官方联盟 > OSGi Alliance是一个由Sun Microsystems、IBM、爱立信等于1999年3月成立的开放的标准化组织,最初名为Connected Alliance。

使用eclipse开发felix的OSGI插件

别来无恙 提交于 2019-11-29 11:59:05
1、官网下载 http://felix.apache.org/downloads.cgi , 当前最新版本6.0.3 运行felix窗口有两种方式 (1) 可以直接下载发布版本 Felix Framework Distribution( org.apache.felix.main.distribution-6.0.3.zip ) 解压后目录 进入项目目录,命令行下执行 java -jar ./bin/felix.jar felix.jar 默认会在当前运行目录的 bundle 文件夹内加载启动所需的插件jar,config 目录下的 config.propeties 和 system.properties 里面加载环境变量,如果将其他目录作为启动根目录,该目录下不存在 felix 启动所需信息,启动就会有问题。项目第一次启动的时候会在启动目录下创建一个felix-cache的目录,用于存放框架运行过程产生的数据,当然该目录可以在启动的时候配置,使用 java -jar ./bin/felix.jar <felix-dir> 即可。 (2) 源码导入eclipse运行 下载子项目 Main ( org.apache.felix.main-6.0.3-project.zip ) 解压org.apache.felix.main-6.0.3-project.zip,进入目录,命令行下