Karaf OSGi && JavaEE 通俗易懂版 实战教程入门(二)

6 篇文章 0 订阅
5 篇文章 0 订阅

本节内容主要为介绍karaf3.0.x操作基本,让读者有个概念,然后会根据假定的项目技术需要对karaf进行模块添加使其具备JavaEE运行环境的特性,最后给出完整的指令直接型列表。阅读本文需要具备osgi、maven(karaf是基于maven管理bundle、feature的)、linux(karaf是类unix环境)的基本知识。

1、Apache Karaf 入门

1.1、必须要明白的几个名词及概念

bundle:osgi中的模块

feature:一组bundle,其具备特定的功能,比如hibernate就算是一个feature,其由多个bundle组成

feature-repo:feature资源库,由一组feature组合而成,apache已经提供了一部分,可以进如etc配置文件中查看

1.2、必须要做的阅读的资料

仔细阅读Apache Karaf官方手册,了解其默认提供的特性(feature),后续都以feature称呼。

2、Karaf的Feature

karaf的feature组成结构为:

feature-repo包含feature,所有的feature都由feature-repo打包提供。

karaf/etc目录下的org.apache.karaf.features.repos.cfg文件摘要如下:

enterprise=mvn:org.apache.karaf.features/enterprise/LATEST/xml/features
spring=mvn:org.apache.karaf.features/spring/LATEST/xml/features
cellar=mvn:org.apache.karaf.cellar/apache-karaf-cellar/LATEST/xml/features
cave=mvn:org.apache.karaf.cave/apache-karaf-cave/LATEST/xml/features
camel=mvn:org.apache.camel.karaf/apache-camel/LATEST/xml/features
camel-extras=mvn:org.apache-extras.camel-extra.karaf/camel-extra/LATEST/xml/features
cxf=mvn:org.apache.cxf.karaf/apache-cxf/LATEST/xml/features
cxf-dosgi=mvn:org.apache.cxf.dosgi/cxf-dosgi/LATEST/xml/features
activemq=mvn:org.apache.activemq/activemq-karaf/LATEST/xml/features
jclouds=mvn:org.apache.jclouds.karaf/jclouds-karaf/LATEST/xml/features
openejb=mvn:org.apache.openejb/openejb-feature/LATEST/xml/features
wicket=mvn:org.ops4j.pax.wicket/features/LATEST/xml/features
hawtio=mvn:io.hawt/hawtio-karaf/LATEST/xml/features
pax-cdi=mvn:org.ops4j.pax.cdi/pax-cdi-features/LATEST/xml/features
pax-jdbc=mvn:org.ops4j.pax.jdbc/pax-jdbc-features/LATEST/xml/features
pax-jpa=mvn:org.ops4j.pax.jpa/pax-jpa-features/LATEST/xml/features
pax-web=mvn:org.ops4j.pax.web/pax-web-features/LATEST/xml/features
pax-wicket=mvn:org.ops4j.pax.wicket/pax-wicket-features/LATEST/xml/features
ecf=http://download.eclipse.org/rt/ecf/latest/site.p2/karaf-features.xml
decanter=mvn:org.apache.karaf.decanter/apache-karaf-decanter/LATEST/xml/features

有些keyname是不是很熟悉?spring、camel、cxf、openejb,这些都是常规JavaEE中常见的组件模块,karaf也提供了,区别仅仅是对其进行了osgi化。

可以查看每个feature-repo中包含的feature,这需要通过feature:list指令,结果如下图(Repository列就是指向的feature-repo,并加上了feature-repo的版本号):


3、常用操作指令

bundle安装:将指定bundle安装到osgi环境中,-s  代表安装完后立即启动该bundle

bundle:install -s mvn:commons-io/commons-io/2.2

从bundle的安装指令中就可以看出karaf使用maven对依赖进行管理,如果你对maven不熟悉,则需要去熟悉下。

feature repository安装:将指定repository的内容添加到feature list中

feature:repo-add pax-jdbc 0.6.0

feature查询:查询当前存在的feature,可以配合grep进行过滤

feature:list

feature安装

feature:install spring-web
指定的feature必须是当前已经存在,可以用feature:list查询到

4、项目技术需求

  • 支持mysql数据库
  • 支持Spring
  • 支持WebService
  • 支持WebSocket
  • 支持JMS
  • 支持。。。

5、给karaf添加Feature

根据项目技术需求逐项给karaf添加feature,并编写Demo进行测试。

6、结尾

本节讲述了karaf的基本知识和操作,下文开始从添加需求开始一步一步给karaf添加特性。

了解karaf中的名词以及如何给karaf添加feature是非常重要的基本功,当你需要给karaf添加到常规JavaEE功能时,基本都会用到本节描述的内容。


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值