osgi service Declarative Service Blueprint
Killko_Hon
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
OSGI Blueprint入门之九
前几日,有网友提了一个问题:用blueprint注册了 一个servlet服务,并将另一个osgi服务注入这个 servlet服务bean里,以便在处理用户的http请求 时调用。但是部署运行后,发现servlet那里注入 的osgi服务一直为null。 表面上,以上的应用似乎设计简单合理。为什么 会出现这样的问题呢? 原因很简单:此servlet非彼 servlet。 当bluepr...2013-03-02 13:18:50 · 239 阅读 · 0 评论 -
Apache ServiceMix入门之五
我们也可以在Servicemix中,利用Camel支持通过Java Bean来处理我们的业务逻辑。 首先,我们需要理解org.apache.camel.Processor这个接口,它只有一个方法process,参数是Exchange。 Exchange是什么呢?我们可以将Exchange理解为一个“消息”的封装,它包含了in和out两部分,这两部分又可以分别包含一个(或零个)body和...原创 2014-12-20 12:59:25 · 340 阅读 · 0 评论 -
OSGI Blueprint入门之八
Blueprint除了组装bean,osgi服务引用等的DI(IOC)功能之外,还可通过各种命名空间(namespace)来扩展。在《[url=http://killko.iteye.com/blog/1787606]Blueprint入门之六[/url]》中,我们就用过一个与ConfigAdmin相关的命名空间(http://aries.apache.org/blueprint/xm...2013-02-19 08:13:30 · 228 阅读 · 0 评论 -
乱凑的一个osgi的demo
有网友问我有没有osgi的demo,于是将前段时间给朋友的一个例子拿来整理了一下。 首先,这个demo是在karaf下运行的,项目由三个bundle组成,会涉及自定义的console命令,服务的发布和引用。 项目为maven项目,为方便构建,将三个bundle项目作为一个父项目下的三个子项目。项目经mvn package构建后,在三个子项目的target文...2013-02-07 17:43:15 · 124 阅读 · 0 评论 -
OSGI Blueprint入门之三
在上一篇的例子中,我们在bean节点里用property注入了一个OSGI service引用。那么这个OSGI service是从哪里来的呢?下面我们介绍一下Blueprint如何注册一个OSGI service。 首先我们在java代码中定义一个interface,然后用一个类去实现它,就和面向接口开发一样。最后,我们就通过Blueprint的service节点发布这个O...2013-02-05 18:25:07 · 156 阅读 · 0 评论 -
OSGI Blueprint入门之七
Blueprint既然是DI规范,自然在注入方面有很多的需求。在前几篇中,我们已接触了服务引用的注入: [code="java"] [/code] 上例中,reference节点定义了对一个OSGI服务的引用,然后在bean节点内用property子节点将该服务引用注入bean中,注入是blueprint通过bean的setCoder(com.pond...2013-02-05 09:02:43 · 218 阅读 · 0 评论 -
OSGI Blueprint入门之六
Blueprint用另一个命名空间(http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0)支持osgi configadmin来配置节点的相关参数。 [code="java"] [/code] 上例中”URL”和”...2013-02-04 09:34:40 · 268 阅读 · 0 评论 -
OSGI Blueprint入门之五
reference-list除了可以用setter的方式注入OSGI service外,还可以用listener的方法来实现OSGI service的注入。 [code="java"] [/code] 这种方法就是通过bean里定义由reference-listener子节点的属性bind-method和unb...2013-02-01 12:21:56 · 393 阅读 · 0 评论 -
OSGI Blueprint入门之四
上一篇提及了OSGI service的发布和引用,在 Blueprint里,服务的发布和引用是最常用的一种 最佳实践,通过借助服务引用这样松散的藕合方 法,可以让OSGI的动态性发挥得淋漓尽致。 一些较低层的,细粒度的服务引用可以注入到 bean里,再将这个bean发布出更高层次的,粗粒 度的服务,而Blueprint container将会通过监听 来自OSGI framew...2013-02-01 09:06:09 · 194 阅读 · 0 评论 -
OSGI Blueprint入门之三
在上一篇的例子中,我们在bean节点里用property注入了一个OSGI service引用。那么这个OSGI service是从哪里来的呢?下面我们介绍一下Blueprint如何注册一个OSGI service。 首先我们在java代码中定义一个interface,然后用一个类去实现它,就和面向接口开发一样。最后,我们就通过Blueprint的service节点发布这个O...2013-01-31 14:02:23 · 312 阅读 · 0 评论 -
OSGI lueprint入门之二
Blueprint的xml文档的顶层结点如下: [code="java"] ... [/code] 在顶层结点下,你可以定义bean节点。bean节点可以定义为bean或者bean工厂,从bean结点可以获得bean实例,通过指定scope属性可以决定是否返回单例的bean实例: scope=”singleton“ 节点将在初次引用时...2013-01-31 13:06:21 · 202 阅读 · 0 评论 -
OSGI Blueprint入门之一
Blueprint是OSGI的一个规范,它来源于spring dm.目前主要有aries和gemini两套实现,本文以aries的实现为基础。大致来说Blueprint是一个OSGI的IOC规范。对于熟悉spring的朋友来说,应该会十分容易上手。 Blueprint也是以xml文档来构建应用,但它也有采用Annotation的方式,我们在此只介绍xml的方式。 ...2013-01-31 10:34:48 · 356 阅读 · 0 评论 -
OSGI服务发布与引用
OSGI context提供service register方法负责osgi服务的注册发布,服务发布时,可带上服务属性,这些服务属性可用于服务引用方查找服务时的filter。 一般来说,没有依赖的简单服务,可以直接在bundle的activator start方法里注册发布,但通常情况下,服务都会存在或多或少的依赖,由于osgi平台的动态性,被依赖的服务并不能确定在依赖它的服务所...2012-09-25 10:14:35 · 229 阅读 · 0 评论 -
OSGI Blueprint入门之十
在传统的Ioc容器里,對象的生命周期一般为静态的,在初始化时创建后,就不会在运行期间撤下或替换。 在Blueprint容器中,可以引入OSGI服务引用,而OSGI服务是动态存在的,也就是说随时有可能由不可用变为可用或由可用变为不可用。 我们可以将一个bean发布出一个osgi服务,然后将这个服务的引用(reference)再注入另一个bean中,这个bean又可以再基于这个服务引用来...2013-03-15 09:28:46 · 252 阅读 · 0 评论 -
使用Apache ServiceMix轻松发布Web Service
Apache ServiceMix集成了Camel、Camel-CXF,可以轻松地发布Web Service。 与传统的通过Servlet发布web Service的方式不同,我们可以通过Camel路由分别处理不同的web service调用。以下是一个简单的例子: 我们首先看看以下服务接口定义: [code="java"] package com.ponder.ws; pu...原创 2015-04-14 15:22:45 · 435 阅读 · 0 评论
分享