码迷,mamicode.com
首页 > 其他好文 > 详细

【OSGI快速入门】理解了这个起码减少2周的看书时间

时间:2016-07-12 15:46:54      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:osgi   java平台   软件开发   应用程序   lb   osgi配置   

一、什么是OSGI

    OSGi(Open Service Gateway Initiative)技术是Java动态化模块化系统的一系列规范。OSGi一方面指维护OSGi规范的OSGI官方联盟,另一方面指的是该组织维护的基于Java语言的服务(业务)规范。简单来说,OSGi可以认为是Java平台的模块层。

    OSGi服务平台向Java提供服务,这些服务使Java成为软件集成和软件开发的首选环境。Java提供在多个平台支持产品的可移植性。OSGi技术提供允许应用程序使用精炼、可重用和可协作的组件构建的标准化原语,这些组件能够组装进一个应用和部署中。

    上面只是简单的从百度C了一些介绍,只需要知道是一个新的框架就可以了,比以往用的框架都好用(个人觉得)。而且目前很多大公司都在用,小型的用的少,毕竟这个的成本高,入门门槛有点那啥,第一次有点懵逼。

二、开发前准备

    开发工具:Eclipse + 开发环境(搞开发的就不用说了吧) + felix(我用的是5.4.0)

    开发思维:OSGI是将传统的各个模块进行了更细致化的分离

    felix:运行OSGI项目目前所用的容器(支持热插拔,好爽~~~)

    Maven项目:使用过Maven项目吧,知道咋回事就行

三、构架一个OSGI框架的项目

    3.1 先启动felix

    cmd >>进入felix所在文件 >>java -jar bin/felix.jar 好啦,目前已成功启动felix,第一步搞定。

    技术分享

    3.2 新建项目

    新建一个Maven Project >> 选择QuickStart的方式就可以了,起名为:email-parnent

    点击刚才新建的Maven项目,新建4个Maven Module(一个一个建),名字分别为:email-api、email-client、email139、email163

    到这里,已经建好了1个Maven项目,4ge Module,这4个Module是email-parnent的子项目。

    继续走吧,如果上面已经搞定了。

    配置email-parnent项目的pom文件

    a、在<Properties>标签中加入下面配置(执行我们的jdk版本)

    <maven.compiler.source>1.7</maven.compiler.source>

<maven.compiler.target>1.7</maven.compiler.target>

    b、加入一个依赖

    <dependency><groupId>org.osgi</groupId><artifactId>org.osgi.core</artifactId>

<version>6.0.0</version></dependency>

    c、继续配置

    技术分享

    3.3 email-api(放接口的)

    建了一个包路径:org.email.api

    建一个接口:IEmailService 

    public void sendEmail(String dest,String title,String content);

    下面,继续配置这个项目:

     注意,下面这段文字 在所有的实现项目、client中都要用到;

    <groupId>FirstOsgi</groupId>

     <artifactId>email-api</artifactId>

     <version>0.0.1-SNAPSHOT</version>

    技术分享

    好啦,我们的api搞定啦

    3.4 email-139(email163同理、email-client配置、编码原理一样)

    下面就直接贴图了

    技术分享

    技术分享

四、打包运行吧

    直接编译父项目,email-parnent,生成了4个jar包,将这4个jar包 拷贝到 felix目录/bundle下,好啦,编码、包都已准备完成,下面直接用命令行部署吧。

    输入 lb :查看当前运行的包及id

    stop 0 :停止根目录,(felix容器停止了)

    重新启动即可:java -jar bin/felix.jar,会自动将bundle目录下的jar包进行编译,至此,我们的OSGI项目就OK啦。

    技术分享

小结:第一次写博客,写的不是很详细,会越来越好的。

    

    

    

本文出自 “5549595” 博客,请务必保留此出处http://5559595.blog.51cto.com/5549595/1825644

【OSGI快速入门】理解了这个起码减少2周的看书时间

标签:osgi   java平台   软件开发   应用程序   lb   osgi配置   

原文地址:http://5559595.blog.51cto.com/5549595/1825644

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!