就在三天前,围绕Thomas Diesler( @tdiesler )的团队发布了WildFly-Camel子系统的2.0.0.CR1版本,它允许您将Camel Routes添加为WildFly配置的一部分。 路由可以部署为JavaEE应用程序的一部分。 JavaEE组件可以访问Camel Core API和各种Camel Component API。
此版本特别向子系统添加了许多新的骆驼组件 ,并增加了对WildFly域模式的支持。 除了自己在Java EE 7中打包和引导Camel之外,此子系统还将Camel直接安装到WildFly 8.x服务器中。 据我所知,它甚至可以与最新的8.2.0.Final一起使用,但尚未经过测试。 并非如此, 在Java EE 7中有一种非常简便的引导Camel的方法,但是这种方法可以实现与Java EE标准的更多集成。 子系统的最终目标是提供骆驼功能,作为WildFly中直接可用的选项,而无需进行任何配置或部署。 这是简单模块和完整子系统之间的主要区别。
入门
通过从wildfly.org下载“ Java EE7完整和Web发行版”来安装WildFly8.x 。 通过将其解压缩到您选择的文件夹中进行安装。 下一步是从JBoss Maven存储库下载WildFly的发行补丁 (53 MB,tar.gz)。 下载后,导航至WildFly文件夹并将存档解压缩到其中。 而已。 现在,使用各自的* -camel.xml启动独立模式或域模式:
$ bin/standalone.sh|bat -c standalone-camel.xml
一些更多的配置
完成之后,您需要添加更多用户。 首先是管理用户。
$ bin/add-user.sh|bat
随便你怎么说。 为了方便起见,我倾向于将其命名为admin,密码为admin。 但是请记住,这是您可以采用的最差做法!
完成之后,添加另一个应用程序用户。 为简单起见,我们只使用相同的不安全密码来命名它。
探索那里的东西
将子系统集成到WildFly中之后,您可以在模块文件夹中找到Apache Camel和JBoss模块。 standalone \ deployments文件夹包含两个war文件。 其中一个是HawtIo ,另一个是wildfly-camel.war ,基本上是骆驼 cdi的 示例,但稍后会介绍更多。 首先,将浏览器指向: http:// localhost:8080 / hawtio /,然后使用您创建的应用程序用户登录。
您会看到,ActiveMQ和Camel选项卡已启用,这意味着HawtIo已部署和发现了这两个模块。 深入到“骆驼”选项卡中,您可以看到两条已部署的路线。 用于集成的版本是Apache Camel 2.14.0,HawtIo 1.4.22和Arquillian 1.1.2Final。
高级功能
wildfly-camel的策略是,用户可以在WildFly已经支持的部署中“仅使用”骆驼核心/组件API。 换句话说,Camel应该在标准Java EE部署中“正常工作”。 二进制文件由平台提供。 部署无需担心模块/接线细节。
定义和部署骆驼上下文可以以不同的方式完成。 您可以在standalone-camel.xml服务器配置中直接定义上下文,也可以将其作为Web应用程序的一部分部署为带有预定义-camel-context.xml文件后缀的单个XML文件,也可以作为另一个WildFly支持的一部分进行部署部署为META-INF / jboss-camel-context.xml文件。
WildFly Camel测试套件使用WildFly Arquillian管理的容器。 这可以连接到已经运行的WildFly实例,或者在需要时启动独立服务器实例。 已经实现了许多测试增强器,使您可以将这些WildFly Camel特定类型注入Arquillian测试用例中。 您可以将CamelContextFactory或CamelContextRegistry注入为@ArquillianResource。
下一步
您可以简单地取消部署wildfly-camel.war并重新开始您自己的应用程序。 您可以在GitHub上深入研究现有示例,也可以等我的下一篇博文逐步介绍您。
如果您不想弄乱安装和修补程序,可以查看发布在wildflyext / wildfly-camel上的现成的docker映像 。
翻译自: https://www.javacodegeeks.com/2014/12/camel-subsystem-for-wildfly-8-integrates-java-ee-getting-started.html