- 浏览: 1148633 次
- 性别:
- 来自: 火星郊区
博客专栏
-
OSGi
浏览量:0
文章分类
- 全部博客 (695)
- 项目管理 (48)
- OSGi (122)
- java (79)
- Vaadin (5)
- RAP (47)
- mysql (40)
- Maven (22)
- SVN (8)
- 孔雀鱼 (10)
- hibernate (9)
- spring (10)
- css (3)
- 年审 (6)
- ant (1)
- jdbc (3)
- FusionCharts (2)
- struts (4)
- 决策分析 (2)
- 生活 (10)
- 架构设计 (5)
- 破解 (2)
- 狼文化 (4)
- JVM (14)
- J2EE (1)
- 应用服务器 (1)
- 我的链接 (5)
- 数学 (2)
- 报表 (1)
- 百科 (6)
- Flex (7)
- log4j (2)
- PHP (1)
- 系统 (2)
- Web前端 (7)
- linux (6)
- Office (1)
- 安全管理 (5)
- python (2)
- dom4j (1)
- 工作流 (3)
- 养生保健 (4)
- Eclipse (8)
- 监控开发 (1)
- 设计 (3)
- CAS (1)
- ZK (41)
- BluePrint (3)
- 工具 (1)
- SWT (7)
- google (2)
- NIO (1)
- 企业文化 (2)
- Windoes (0)
- RCP (7)
- JavaScript (10)
- UML (1)
- 产品经理 (2)
- Velocity (10)
- C (1)
- 单元测试 (1)
- 设计模式 (2)
- 系统分析师 (2)
- 架构 (4)
- 面试 (2)
- 代码走查 (1)
- MongoDB (1)
- 企业流程优化 (1)
- 模式 (1)
- EJB (1)
- Jetty (1)
- Git (13)
- IPV6 (1)
- JQuery (8)
- SSH (1)
- mybatis (10)
- SiteMesh (2)
- JSTL (1)
- veloctiy (1)
- Spring MVC (1)
- struts2 (3)
- Servlet (1)
- 权限管理 (1)
- Java Mina (1)
- java 系统信息 (6)
- OSGi 基础 (3)
- html (1)
- spring--security (6)
- HTML5 (1)
- java爬虫搜索 (1)
- mvc (3)
最新评论
-
Tom.X:
http://osgia.com/
将web容器置于OSGi框架下进行web应用的开发 -
chenyuguxing:
你好, 为什么我的bundle export到felix工程中 ...
在Apache Felix中运行bundle -
string2020:
<niceManifest>true</ni ...
Bundle Plugin for Maven -
jsonmong:
OSGI,是未来的主流,目前已相当成熟。应用OSGI比较好的, ...
基于OSGi的声明式服务 -
zyhui98:
貌似是翻译过来的,有很少人在linux上做开发吧
如何成为“10倍效率”开发者
从四个方面对karf进行了分析,分别为karaf的环境变量、启动级别、karaf中出现的新概念和核心技术。
karaf涉及两个环境变量,分别为KARAF_HOME和KARAF_BASE,KARAF_HOME目录下存放的是启动karaf的必需文件,目录结构如下所示:
lib目录中包含三个文件,分别为karaf.jar、karaf-client.jar和karaf-jaas-boot.jar,这些文件会缺省加入karaf的CLASSPATH中。
etc目录中主要包含了OSGi Framework的选择配置,如使用何种OSGi Framework实现。
system目录中包含了eclipse和felix实现的OSGi Framework实现jar包。
karaf拥有6个启动级别,分别为5、8、10、15、30、40。其启动顺序是先启动数字小的级别。
- 5级,包含了符合OSGi URL Handlers Service Specification(OSGi Core规范中第11章)的mvn协议和wrap协议。
- 8级,包含了日志适配器(包含log4j,slf4j,commons-logging等)和日志服务。
- 10级,包含了规范API、配置管理服务(104)、用户偏好服务(106)。
- 15级,包含了热部署器。
- 30级,包含了GShell、Spring DM、JMX等。
- 40级,包含了GShell的启动器,运行至此级别时GShell转换为可用状态。
karaf设置了两个缺省级别,分别为60和100,60是指当有外部应用部署至karaf时,karaf将会把此应用的启动级别设置为60;100是指karaf启动时会缺省启动到级别100,即100以下的所有bundle都会被启动。
karaf中引用了feature的概念。feature是符合某个功能特性的bundle集的部署描述符,配置文件如下所示:
<features> <repository>urn:r1</repository> <feature name="f1"> <config name="c1"> k=v </config> <bundle>b1</bundle> <bundle>b2</bundle> </feature> <feature name="f2"> <feature>f1</feature> <bundle>b3</bundle> </feature> </features>
krarf可以静态的切换OSGi Framework实现,它的实现方法如下所示:
- 从配置文件中得到OSGi实现jar包的相对路径
- 利用反射机制将此jar包加入到当前ClassLoader
- 读取/META-INF/services/org.osgi.framework.launch.FrameworkFactory文件以得到FrameworkFactory的实现类名
- 通过反射机制将此类实例化后创建Framework实例并启动
- karaf.rar (390.5 KB)
- 下载次数: 79
评论
4 楼
fengzhiyu_sh
2014-11-12
你好,请教一个问题:
karaf的feature文件中,可否使用环境变量
例如:
环境变量有XX_HOME用以指定应用根目录,那么feature配置中能否写成
<?xml version="1.0" encoding="UTF-8"?>
<features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0">
<feature name="csbBase" version="1.0.1">
<bundle start-level="80">file:${XX_HOME}/repository/******.jar</bundle>
</feature>
</features>
我这边试验,貌似加载不到该组件。
karaf的feature文件中,可否使用环境变量
例如:
环境变量有XX_HOME用以指定应用根目录,那么feature配置中能否写成
<?xml version="1.0" encoding="UTF-8"?>
<features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0">
<feature name="csbBase" version="1.0.1">
<bundle start-level="80">file:${XX_HOME}/repository/******.jar</bundle>
</feature>
</features>
我这边试验,貌似加载不到该组件。
3 楼
snoopy7713
2013-04-23
谁是女滴?
2 楼
luckywnj
2013-04-07
真女强人耶,122篇的OSGI,正为没有karaf的资料发愁呢,thank you 先
1 楼
liliang_xf
2013-01-29
女枪人。
发表评论
-
关于Felix Log Service
2012-12-07 16:44 1566OSGi服务纲要规范中定义了服务于OSGi平台的通用日志服 ... -
Maven 3 Felix 4 Eclipse 的搭建与部署(部分转载自别人文章)
2012-10-18 10:24 20304.1.开发环境搭建 4.2开发工具 Maven 3 F ... -
【绝对路径】OSGi环境中获取Plugin/Bundle中文件资源的绝对路径
2012-10-08 10:53 2487摘要:在进行Eclipse RCP开发的过程中,需要使用一 ... -
OpenCore:基于OSGi开发纯插件体系结构的WEB应用程序
2012-09-21 17:46 1422随着OSGi/Equinox逐渐成为Java EE服务端的基础 ... -
OSGi技术在Java Web开发中的应用
2012-09-20 11:26 1409随着 Java SE 对模块化功能原生支持的一再推迟(据最 ... -
OSGI典型的应用案例
2012-09-20 11:26 1633OSGI典型的应用案例主要有两个:分别是Eclipse和BMW ... -
OSGi特点
2012-09-20 11:26 12481、JRE版本无关性。虽然Java一直被人们认为是“Write ... -
OSGI与JMX 的关系
2012-09-19 17:09 1057不过重点是: JMX 本来设计的用途就只为了管理,我们不 ... -
在equinox环境开发web应用的"利器" -- registerResources()方法 详解
2012-09-19 17:07 1227registerResources()方法详解 1、简介 ... -
在equinox环境开发web应用的"利器" -- 序
2012-09-19 17:05 1361在equinox环境中开发web应用必须要借助一些工具包提供的 ... -
equinox环境下web应用资源的部署
2012-09-19 17:04 1306osgi的equinox实现环境下,web服务器和web应用都 ... -
OSGi产生的背景--在繁荣的混乱之中走出困惑
2012-09-19 16:58 1164软件的复杂性正在以惊 ... -
将web容器置于OSGi框架下进行web应用的开发
2012-09-16 14:26 3537将web容器置于OSGi框架下,其实就是将web容器做成OSG ... -
在Eclipse中开发OSGi Bundle
2012-09-16 14:26 1329Eclipse为开发OSGI Bundle提供了良好的支持,它 ... -
【第一代服务注册形式】 - 将一个Bundle注册为服务
2012-09-14 10:09 11541、创建业务接口类及其实现类 Java代码 ... -
Declarative Services规范简介及应用
2012-09-14 10:08 1420Declarative Services 是一 ... -
用FileInstall管理Bundle的动态安装、启动、卸载
2012-09-14 10:07 13291、文件目录如下: F:\study_osgi ... -
服务工厂 - Bundle消费者返回不同的服务对象
2012-09-14 10:03 1207一般情况下,服务对象在注册后,任何其它的Bundle在请求 ... -
服务跟踪(ServiceTracker)
2012-09-14 09:58 1155当多个Bundle使用同一 ... -
OSGi容器中Bundle之间Synchronous Communication
2012-09-11 17:07 1558OSGi Core定义了一个服务层,提供了一个Bundl ...
相关推荐
源代码分析可以帮助开发者深入理解Karaf的工作原理,学习如何配置和扩展容器,以及如何在OSGi环境中开发和管理应用程序。这些源码可能包括核心组件、模块、配置文件和示例应用,它们可以作为学习和调试的基础。 ...
例如,你可以通过分析和运行源码来探索如何创建和部署bundle,配置特征,以及如何利用Felix进行服务注册和消费。此外,源码还可以帮助你了解Karaf与其他技术(如Spring、JMS等)的集成方式。 在阅读“learning ...
6. **源码分析**: 标签中的“源码”可能暗示了博客可能涉及Karaf的源代码层面,如自定义Karaf配置、编写OSGi Bundle或扩展Karaf功能。 7. **工具使用技巧**: 博文可能会涵盖如何利用Eclipse和Karaf Tools提高...
### 脚本分析 #### 文件路径与环境配置 ```bash TEST_HOME=/home/niubie/tmp TEST_BIN=$TEST_HOME/bin cd $TEST_HOME ``` 这里定义了两个环境变量`TEST_HOME`和`TEST_BIN`,用于指定脚本操作的基本路径。`cd $...
《Karaf Decanter 示例详解与实践》 Apache Karaf 是一个轻量级的Java OSGi容器,它为开发人员提供了快速构建、部署和管理Java应用程序的平台。Decanter是Karaf的一个模块,专注于监控和日志管理,提供了一套全面的...
4. **管理集群**:深入探讨如何管理运行中的集群,包括监控、日志分析、故障排除等运维技巧。 5. **高级主题**:除了基本的集群管理之外,还涉及了高级话题,如动态扩展、性能调优等。 #### 五、核心知识点详解 ...
6. **流处理引擎**:提供了一套强大的流处理规则,可以动态定义数据包处理逻辑,实现细粒度的流量控制和分析。 四、OpenDaylight Helium的应用场景 OpenDaylight Helium适用于各种网络环境,包括数据中心、云计算、...
《优化Karaf+ActiveMQ运维框架详解》 在IT领域,高效的运维框架是保障系统稳定运行的关键。本篇文章将深入探讨“优化Karaf+ActiveMQ运维框架”的核心知识点,帮助读者理解并掌握如何构建和优化这样的框架,以提升...
10. **源代码分析**:通过阅读"学习Apache Karaf"的源代码,可以深入理解Karaf的工作原理,以及如何设计和实现一个基于OSGi的应用。 这个压缩包中的"learning-apache-karaf-master"可能是这本书的源码仓库,你可以...
分析仪Karaf 特征分析器命令分析器 - 检测不需要的功能整体。 描述: 分析器处理 Karaf 功能文件依赖项,以确定接线不需要哪些存储库或工件。 注意:如果某些资源未在容器中连接,则它们可能会被标记为非必需,用户...
= 4.1.6分析根据,Apache Karaf默认情况下提供了功能部署程序,该功能允许用户通过将文件直接放置在deploy文件夹中来“热部署”功能XML。 将功能XML放置在deploy文件夹中时,功能部署程序将执行以下操作: 将功能XML...
压缩包中的“Karaf-Linkage-Error-javax-xml-dataype.pdf”文件很可能提供了关于如何诊断和解决此类问题的详细指南,包括具体的命令行操作、日志分析以及可能的解决方案。建议仔细阅读这份文档,以获取更深入的理解...
当我们遇到“org.eclipse.4karaf:更改依赖项以与 felix 兼容”的问题时,这通常意味着我们需要调整Eclipse 4 Karaf项目的依赖关系,以便它能在Felix OSGi环境中顺利运行。 Eclipse 4 Karaf是Eclipse针对Apache ...
Eclipse OSGi是Java平台上的一种模块化框架,它基于OSGi规范,为开发者提供了动态、模块化的应用程序构建环境。...同时,这也为理解和研究其他基于OSGi的框架,如Spring DM或Apache Karaf等,提供了基础。
4. **数据分析准备**:对原始数据进行预处理,以便进行数据分析或建立数据模型。 5. **实时数据处理**:Kettle的Kitchen和Pan组件可用于调度和执行定时任务,实现数据的实时处理。 通过理解Kettle的基本概念和特点...
7. **案例源码分析**:“Login内部发布案例”可能包含一个简单的登录服务示例,展示了如何创建一个处理用户登录请求的Web服务。源码中可能会包含WSDL文件、服务实现类、部署描述符以及任何必要的配置文件。 8. **...
然后,你需要掌握ServiceMix的命令行工具,如karaf shell,这是进行日常管理和部署的主要手段。 接下来,理解如何创建和部署服务单元至关重要。这涉及编写服务端点的代码,封装成符合JBI规范的服务单元,然后通过...