【问题标题】:Basic Apache Camel FileRoute deployed as OSGi bundle基本 Apache Camel FileRoute 部署为 OSGi 包
【发布时间】:2012-09-05 12:04:31
【问题描述】:

我正在尝试使用 Apache Camel 做一些“hello world”示例。只是一个简单的路由,作为 OSGi 包部署到 Apache Karaf。而且太疯狂了,一次要学的东西太多了,Camel 本身,与 spring 的集成,与 OSGi 和 Karaf 的集成......呃。

我正在尝试从这里遵循这个想法:http://www.andrejkoelewijn.com/wp/2008/10/19/simple-camel-dsl-osgi-bundle-example/

我已经创建了包,带有 FileRoute.java 文件的包等,但我无法生成有效的 manifest.mf 文件,它是由“bundle plugin for maven”生成的 - 所以 POM 文件用于生成清单文件。

清单文件中有什么问题,与导入包一致:

Import-Package: com.company.foo.bar.demo;version="0.1",org.apache.ca
 mel.builder;version="2.10",org.apache.camel.model;version="2.10",org.
 apache.commons.logging

出现错误:“没有可用的捆绑导出包 'org.apache.camel.builder'”(和 .model 包)。

好吧,我知道问题出在哪里,但是……如何为捆绑包公开这些包?

接下来我有另一个带有 Apache Camel 上下文的包,所以我认为好主意是通过“导出包”从那里公开包,但它不起作用,然后无法构建骆驼包.

我很迷茫:(非常感谢帮助或提示。

谢谢!

【问题讨论】:

标签: osgi apache-camel


【解决方案1】:

如果您使用 Apache Camel 2.10 或更高版本,那么 Maven 原型是开始新 Camel 项目的好地方。我们有可以为 spring-dm 或 OSGi 蓝图创建基于 OSGi 的项目的原型。您选择了要使用的那个。然后该项目为 OSGi 做好了准备,因为它设置了一个为您生成所需 osgi 内容的 maven 插件。只有在更高级的情况下,您才需要调整此插件。

详情请见:http://camel.apache.org/camel-maven-archetypes.html

如果您使用 Maven 3.0.x,那么您只需键入即可轻松得多

mvn archetype:generate

然后它以交互模式运行,然后输入 camel 以仅过滤骆驼原型。

然后选择原型的编号。例如,将 OSGi 与 Spring 结合使用的 spring-dm。

【讨论】:

  • 嗨!是的,看起来不错……所以我猜这个 - camel.apache.org/tutorial-osgi-camel-part1.html - 完全过时了,对吧? (是的,我知道,这里有说明教程已过时,我的意思是,它与 camel-archetype-blueprint 不兼容)。
  • 是的,它已经过时了,它来自 Camel 1.x 时间,而且当时的 SMX/CXF/Karaf 更难与 OSGi 一起使用。您可以在此处找到 OSGi 教程的链接:camel.apache.org/articles,例如 Christian Schneider 的教程。
  • 我们喜欢贡献,因此非常欢迎人们将教程更新为最新标准。然而,人们倾向于编写自己的博客,而不是帮助编写项目文档:(
  • 好吧,我想帮助你,因为你帮助了我 :) 我写一些教程没问题,一旦我清楚地知道它是如何工作的 :) 但是,我的文字真的需要英语修订,因为如您所见,我的英语不是很好,因为我来自捷克共和国,而且我懒得继续我的英语教育:P
  • 不用担心语言。我们团队中有会说母语的人,其中一些人擅长事后润色文本。记住 Apache 项目是国际项目,所以有很多非英语母语的用户和提交者。欢迎任何贡献。
猜你喜欢
  • 2010-12-30
  • 2022-08-17
  • 1970-01-01
  • 2012-03-27
  • 1970-01-01
  • 2017-03-09
  • 2015-02-15
  • 2013-03-09
  • 1970-01-01
相关资源
最近更新 更多