- 浏览: 1118922 次
- 性别:
- 来自: 火星郊区
博客专栏
-
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倍效率”开发者
OSGi服务纲要规范中定义了服务于OSGi平台的通用日志服务。这是一个非常简单的规范,没有完全提供通常在企业级日志工具中所具有的功能。但其扩展服务模块可以用于建立相当复杂的日志解决方案。 Felix Log是对于OSGI Log服务规范的一个简单的、基于内存的实现。
日志服务规范中定义了4个主要实体:
•org.osgi.service.log.LogService – 用于记录信息的接口,包括日志级别、日志信息、异常等的服务接口
•org.osgi.service.log.LogReaderService – 用于添加移除LogListener实例,检索最近的日志条目
•org.osgi.service.log.LogEntry – 定义日志条目的接口
•org.osgi.service.log.LogListener – 为日志条目定义监听器的接口
1)访问日志服务
要访问一个LogService实例,需要在OSGi的服务记录(service registry)中寻找它。如下代码片段所示:
public class Activator implements BundleActivator { public void start( BundleContext context) throws Exception { ServiceReference ref = context. getServiceReference ( LogService. class . getName ()); if ( ref != null ) { LogService log = ( LogService) context. getService ( ref); // Use the log... } } //..
2)使用日志
LogService接口提供了4种方法用于日志记录,如下代码片段所示:
public interface LogService { //.. // Log a message specifying a log level public log ( int level, java. lang . String message) // Log an exception public log ( int level, java. lang . String message, java. lang . Throwable exception) // Log a message specifying the ServiceReference that generated it public log ( ServiceReference sr, int level, java. lang . String message) // Log a message specifying the ServiceReference and exception public log ( ServiceReference sr, int level, java. lang . String message, java. lang . Throwable exception) }
日志的级别定义如下:
LogService.LOG_DEBUG
LogService.LOG_INFO
LogService.LOG_WARNING
LogService.LOG_ERROR
3)检索日志条目(log entry)
LogReaderService提供getLog()方法用于检索回一个最近使用的日志条目的列举。如下代码片段展示如何从服务记录中检索它:
ServiceReference ref = context. getServiceReference ( LogReaderService. class . getName ()); if ( ref != null ) { LogReaderService reader = ( LogReaderService) context. getService ( ref); Enumeration< LogEntry> latestLogs = reader. getLog (); }
4)创建并注册一个LogListener
日志服务规范并没有定义任何特别的要存储的条目,或对日志条目进行写;这个功能是由开发者自行定义实现的。为了创建这样的一个bundle,第一步是创建LogListener这个接口的实现,如下代码片段展示了一个回显日志信息的简单实现:
public class LogWriter implements LogListener { // Invoked by the log service implementation for each log entry public void logged ( LogEntry entry) { System. out . println ( entry. getMessage ()); } }
唯一需要实现的方法是logged(),每一次当一个日志条目在相关日志服务中被创建的时候,这方法将被调用。一个LogListener接口的实现必须与LogReaderService注册才能开始检索日志条目,如下所示:
ServiceReference ref = context. getServiceReference ( LogReaderService. class . getName ()); if ( ref != null ) { LogReaderService reader = ( LogReaderService) context. getService ( ref); reader. addLogListener ( new LogWriter()); }
5)设置 Apache Felix 日志服务
Apache Felix日志服务的bundle对Felix没有任何特定依赖,因此它可以在任何OSGi container上运行。也是通过键值对进行配置;对于它的配置,将使用如下两个可选的系统属性:
Property Default Description org.apache.felix.log.maxSize 100 日志历史的最大值,-1表示没有上限,0表示没有历史记录需要被保留。 org.apache.felix.log.storeDebug false 决定是否将调试消息是否保存于历史中。
发表评论
-
Maven 3 Felix 4 Eclipse 的搭建与部署(部分转载自别人文章)
2012-10-18 10:24 19834.1.开发环境搭建 4.2开发工具 Maven 3 F ... -
【绝对路径】OSGi环境中获取Plugin/Bundle中文件资源的绝对路径
2012-10-08 10:53 2367摘要:在进行Eclipse RCP开发的过程中,需要使用一 ... -
OpenCore:基于OSGi开发纯插件体系结构的WEB应用程序
2012-09-21 17:46 1370随着OSGi/Equinox逐渐成为Java EE服务端的基础 ... -
OSGi技术在Java Web开发中的应用
2012-09-20 11:26 1361随着 Java SE 对模块化功能原生支持的一再推迟(据最 ... -
OSGI典型的应用案例
2012-09-20 11:26 1560OSGI典型的应用案例主要有两个:分别是Eclipse和BMW ... -
OSGi特点
2012-09-20 11:26 12061、JRE版本无关性。虽然Java一直被人们认为是“Write ... -
OSGI与JMX 的关系
2012-09-19 17:09 1014不过重点是: JMX 本来设计的用途就只为了管理,我们不 ... -
在equinox环境开发web应用的"利器" -- registerResources()方法 详解
2012-09-19 17:07 1186registerResources()方法详解 1、简介 ... -
在equinox环境开发web应用的"利器" -- 序
2012-09-19 17:05 1312在equinox环境中开发web应用必须要借助一些工具包提供的 ... -
equinox环境下web应用资源的部署
2012-09-19 17:04 1264osgi的equinox实现环境下,web服务器和web应用都 ... -
OSGi产生的背景--在繁荣的混乱之中走出困惑
2012-09-19 16:58 1112软件的复杂性正在以惊 ... -
将web容器置于OSGi框架下进行web应用的开发
2012-09-16 14:26 3476将web容器置于OSGi框架下,其实就是将web容器做成OSG ... -
在Eclipse中开发OSGi Bundle
2012-09-16 14:26 1286Eclipse为开发OSGI Bundle提供了良好的支持,它 ... -
【第一代服务注册形式】 - 将一个Bundle注册为服务
2012-09-14 10:09 11011、创建业务接口类及其实现类 Java代码 ... -
Declarative Services规范简介及应用
2012-09-14 10:08 1362Declarative Services 是一 ... -
用FileInstall管理Bundle的动态安装、启动、卸载
2012-09-14 10:07 12941、文件目录如下: F:\study_osgi ... -
服务工厂 - Bundle消费者返回不同的服务对象
2012-09-14 10:03 1175一般情况下,服务对象在注册后,任何其它的Bundle在请求 ... -
服务跟踪(ServiceTracker)
2012-09-14 09:58 1119当多个Bundle使用同一 ... -
OSGi容器中Bundle之间Synchronous Communication
2012-09-11 17:07 1495OSGi Core定义了一个服务层,提供了一个Bundl ... -
OSGI 中嵌入 Http 服务器的运行环境
2012-07-31 13:44 3007Eclipse 4.2 OSGI 依赖的Bundle: or ...
相关推荐
FELIX
felix 可以用jar包felix 可以用jar包felix 可以用jar包felix 可以用jar包felix 可以用jar包
华为Felix开发和运行包
osgi框架最新felix-framework-5.6.8,想找个felix插件版的,可惜404
felix文档 一个简单的helloworld
OSGi In Practice作者的推荐OSGi框架的Felix 最新版本 2.0.4包括jar包,配置文件等等 学习OSGi必须的
运用apache的felix,写的demo
Felix_OSGi实作,介绍最流行的OSGI framwork-Felix的好文档
Warhammer's Felix and Gotrek series. It contain eleven book.
使用 Felix 和 Struts2 开发 Web 应用 采用了struts 构建web ,feilx 构建bundle
felix软件包 org.apache.felix.main.distribution-5.4.0.zip
org.apache.felix.main.distribution-4.2.1.zip
PHP新手上路_Felix整理、修改,整理来自百度的一些信息,非常有用!
Felix 4.2.1 源码
最新版 org.apache.felix 4.5.0
利用felix和struts2实现osgi web
Apache的Felix框架最新版本,OSGi容器,有需要的来这里下载。
OSGI企业应用开发博文源码
org.apache.felix-4.5.0 源代码 JAR,方便学习、调试felix。
Equinox、Apache Felix与Spring DM 工程创建工程发布