apache camel_使用WildFly 8在Java EE7中自举Apache Camel

apache camel

从Camel版本2.10开始,支持CDI(JSR-299)和DI(JSR-330)。 这为在Java EE容器中以及在独立的Java SE或CDI容器中开发和部署Apache Camel项目提供了新的机会。 是时候尝试一下并熟悉它了。

骆驼到底是什么?

骆驼盒小
骆驼是一个集成框架。 有些人喜欢将其称为ESB-lite。 但最后,这是在集成项目中取得成功的非常注重开发人员和组件的方式。 您有80多个预构建组件可供选择,并且它们基本上包含了企业集成模式的完整介绍,这些都是众所周知的并且可以使用。 考虑到所有这些,想出一个答案并不容易。 如果您需要一个,它可能是这样的:它是消息技术与路由的结合。 它将消息传递的起点和终点连接在一起,从而允许将消息从不同的源传输到不同的目的地。

我为什么在乎?

对于企业级软件,我显然感到很兴奋。 但始终喜欢更实用的解决方案。 关于何时使用Apache Camel以及随着在非常异构的平台上集成不同系统的需求不断增加,有一些不错的博客文章,拥有成熟的解决方案总是很方便的。 那里的大多数示例都是从引导完整的Camel魔术开始的,包括基于XML的Spring DSL及其必需的依赖项。 那把一切都炸毁了,我不想接受。 知道必须有一种轻量级的方法(Camel-Core在12.13.2版中为2.5 MB),我一直在研究如何自己引导它。 并使用其中的一些CDI魔术。

首先寻找想法的地方

显然是GitHub上Java EE示例项目 。 一些不安定的社区成员收集了大量的示例供您入门。 这里的最终目标是提供有关如何在Java EE伞中使用不同规范的参考。 但是甚至包括一些额外的内容,并展示了来自不同领域的示例,例如NoSQL,Twitter,Quartz Scheduling和最后但并非最不重要的Camel集成。 如果您按照最新的WildFly 8.1运行它,它将无法正常工作。 Camel的cdi扩展使其执行起来有些棘手,但是如相应问题中所述 ,有一种方法可以通过创建自定义否决扩展来摆脱模糊的CDI依赖关系。 该问题已提交给骆驼 ,我听说他们正在研究改善情况。 如果您想尝试该示例,请转到我的GitHub存储库并查找CamelEE7项目。

我是怎么做到的?

Bootstrap.java是一个@Singleton EJB,它在应用程序启动时加载(请记住, 在Java EE中有不同的启动方法 ),通过@Inject org.apache.camel.cdi.CdiCamelContext您可以访问Camel 。 这个小例子使用另一个HelloCamel bean展示了如何在CDI集成中使用有效负载。

确保查看CamelCdiVetoExtension.java及其在META-INF文件夹中的配置方式。 现在您可以开始了。 编码愉快。

和最后的最好

Camel 12.14 已经面世,计划于9月发布。 如果您有任何疑问或希望在其中看到,现在是时候发言了

即将推出的令人敬畏的新功能的摘录:

是时候变得兴奋了!

翻译自: https://www.javacodegeeks.com/2014/09/bootstrapping-apache-camel-in-java-ee7-with-wildfly-8.html

apache camel

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值