场景:我将尝试与EIP手册中的贷款经纪人示例进行类比
问题
我做过的事
这个问题
希望我的描述足够清晰,您可以看到这是一个非常简单的实现。它的极限是什么?如何将此注册转换为osgi服务?
在OSGi中,有一个很好的注册表供您使用:OSGi服务注册表。所以我的建议是稍微改变一下。为报价请求定义服务接口,并将其存储在api包中。然后让每家银行实现这个接口,并将实现发布为OSGi服务。
然后,loan broker捆绑包可以列出OSGi服务注册表中的所有OSGi服务,并调用每个服务来获取报价。在blueprint中,有一个很好的标记,可以用来将列表注入到list的bean属性中。Spring DM可能也有类似的功能。
Camel目前没有办法调用某一类型的所有OSGi服务。我们讨论了一个能够做到这一点的新的osgi服务组件。所以我们可能很快就会有解决办法。
我为客户开发了一个基于SpringDM的解决方案。有一个完整的写如何做到这一点在http://www.jakubkorab.net/2012/05/system-integrations-as-plugins-using-camel-and-servicemix.html与完整的源代码可在https://github.com/FuseByExample/smx-application-plugins
希望这有所帮助。
问题内容: 如何从jar库创建OSGi捆绑包? 问题答案: 如果您使用的是eclipse:有一个向导。 它允许您选择许多jar库,并创建一个包含这些jar的插件项目(即OSGi捆绑包)。 你可以在这里找到它:
我还不是一个有经验的OSGi用户,因此我会遇到一些问题。 我正在尝试使用作为外部提供程序,因为我不希望我的包包含所有这些类。 但是,当我运行这组包(my和)时,我得到以下错误: 错误:Bundle org.apache.serviceMix.bundles.hadoop-client[56]错误启动文件:bundles/org.apache.serviceMix.bundles.hadoop-cl
我正在开发超文本传输协议客户端应用程序作为一个OSGI捆绑项目,我已经使用apache maven创建项目文件夹结构使用下面的命令。 上面的命令创建了项目文件夹结构,因为我使用的是基于httpclient的应用程序。我在pom中添加了依赖项。xml如下所示。 我执行以下命令, 根项目上进行构建 它在本地maven存储库中创建了所需的jar文件。 问题从这里开始。我试图在ApacheServiceM
问题内容: 我想创建一个可以分为多个模块的应用程序,它们各自具有路由功能。用户可以从应用程序主模块打开和关闭这些模块。 我是否必须加载所有模块并根据用户是否已订阅禁用该模块。我认为这会减慢应用程序的加载,因为加载了所有模块代码并在应用程序引导时注入。 还有其他替代方法可以解决此问题吗? 问题答案: 应该为主要模块提供已启用模块的列表: 显然,无法正常加载array ,因为此时应用程序尚未启动。XH
我正在尝试构建OSGi捆绑包,用于Equinox和Felix。我的一些捆绑包使用javax。*包,例如javax。网 JRE提供了这个包,没有问题,它可以在两个框架中工作。 Felix要求我在清单中导入该包。MF: 这是有道理的,因为只有java。*包应该隐式包含。出于某种原因,无论哪种方式,春分都很好,它似乎神奇地找到了它们。 当我和第谷一起建造时,我的问题就来了。当我添加导入包时,第谷构建失败
我正在将我的spring-java项目转移到OSGi。 我有一些依赖项,这些依赖项在spring ebr repo或maven repo中不能作为包提供。处理它们的最佳方法是什么? null