apache camel

这些天,我在玩Wildfly , Apache Camel和Spring 。

在EAR / WAR之间进行通信的一种简单方法是使用Camel的direct-vm组件。 有或没有骆驼,有很多方法可以实现这一目标。 骆驼在WildFly中就像一个饰物,不需要任何额外的配置。 骆驼很棒!!!

为了避免将Spring和Camel所需的所有JAR打包到我的应用程序中,我使用出色的JBoss Modules框架(WildFly已经使用过)创建了两个模块。 然后,我可以引用这两个框架,而无需在应用程序(EAR / WAR)中打包所有这些JAR。

创建Spring模块

  • 转到WildFly主页目录: $> cd /home/torun/jboss/wildfly/wildfly-8.0.0.Beta1
  • 创建Spring模块目录结构:
    • $> mkdir -p modules / org / springframework / 3.2.5.RELEASE
  • 在这个新目录中,创建具有以下内容的module.xml文件:
<module xmlns="urn:jboss:module:1.3" name="org.springframework" slot="3.2.5.RELEASE"><resources><resource-root path="aopalliance-1.0.jar"/><resource-root path="aspectjrt-1.7.4.jar"/><resource-root path="aspectjtools-1.7.4.jar"/><resource-root path="aspectjweaver-1.7.4.jar"/><resource-root path="org.aspectj.matcher-1.7.4.jar"/><resource-root path="spring-aop-3.2.5.RELEASE.jar"/><resource-root path="spring-aspects-3.2.5.RELEASE.jar"/><resource-root path="spring-beans-3.2.5.RELEASE.jar"/><resource-root path="spring-context-3.2.5.RELEASE.jar"/><resource-root path="spring-context-support-3.2.5.RELEASE.jar"/><resource-root path="spring-core-3.2.5.RELEASE.jar"/><resource-root path="spring-expression-3.2.5.RELEASE.jar"/><resource-root path="spring-jdbc-3.2.5.RELEASE.jar"/><resource-root path="spring-orm-3.2.5.RELEASE.jar"/><resource-root path="spring-oxm-3.2.5.RELEASE.jar"/><resource-root path="spring-tx-3.2.5.RELEASE.jar"/><resource-root path="spring-web-3.2.5.RELEASE.jar"/><resource-root path="spring-webmvc-3.2.5.RELEASE.jar"/><resource-root path="spring-webmvc-portlet-3.2.5.RELEASE.jar"/></resources><dependencies><module name="javaee.api"/><module name="org.apache.commons.logging"/><module name="org.jboss.vfs"/><module name="org.hibernate"/><module name="javax.el.api" export="true"/><module name="com.sun.xml.bind" export="true"/></dependencies>
</module>
  • 然后在此新目录内添加所有提到为“ resource-root”的JAR。
  • 您已经完成了Spring模块!!!
  • 现在,您可以在EAR / WAR中使用“ jboss-deployment-structure.xml”中的下一行来引用spring模块:
    • <module name =” org.springframework” slot =“ 3.2.5.RELEASE” />

创建骆驼模块

  • 创建骆驼模块目录结构:

    • $> mkdir -p modules / org / apache / camel / 2.12.1
  • 在这个新目录中,创建具有以下内容的module.xml文件:
<module xmlns="urn:jboss:module:1.3" name="org.apache.camel" slot="2.12.1"><resources><resource-root path="camel-core-2.12.1.jar"/><resource-root path="camel-spring-2.12.1.jar"/><resource-root path="jaxb-impl-2.2.6.jar"/></resources><dependencies><module name="org.springframework" slot="3.2.5.RELEASE" /><module name="org.slf4j"/><module name="javax.xml.bind.api"/><module name="javax.api"/><module name="sun.jdk" /></dependencies>
</module>
  • 然后在此新目录内添加所有提到为“ resource-root”的JAR。
  • 您已经与骆驼模块一起完成了!!!
  • 现在,您可以在EAR / WAR中使用“ jboss-deployment-structure.xml”中的下一行来引用骆驼模块:
    • <module name =“” org.apache.camel” slot =” 2.12.1” />

您可以从Spring或Camel模块中删除一些jar依赖项,但是这些只是我当前的设置,我知道它可以工作!

还有一个重要的注意事项。 在尝试为这些模块找到正确的JAR时,我遇到了一些例外情况……因此,如果您忘记了任何JAR,则可能会看到以下任何例外情况:

Caused by: java.lang.NoClassDefFoundError: sun/misc/Unsafeat org.apache.camel.com.googlecode.concurrentlinkedhashmap.ConcurrentHashMapV8.getUnsafe(ConcurrentHashMapV8.java:4136) [camel-core-2.12.1.jar:2.12.1]at org.apache.camel.com.googlecode.concurrentlinkedhashmap.ConcurrentHashMapV8.<clinit>(ConcurrentHashMapV8.java:4101) [camel-core-2.12.1.jar:2.12.1]at org.apache.camel.com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.<init>(ConcurrentLinkedHashMap.java:221) [camel-core-2.12.1.jar:2.12.1]at org.apache.camel.com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.<init>(ConcurrentLinkedHashMap.java:104) [camel-core-2.12.1.jar:2.12.1]at org.apache.camel.com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.build(ConcurrentLinkedHashMap.java:1634) [camel-core-2.12.1.jar:2.12.1]at org.apache.camel.util.LRUCache.<init>(LRUCache.java:83) [camel-core-2.12.1.jar:2.12.1]at org.apache.camel.util.LRUSoftCache.<init>(LRUSoftCache.java:68) [camel-core-2.12.1.jar:2.12.1]at org.apache.camel.impl.EndpointRegistry.<init>(EndpointRegistry.java:39) [camel-core-2.12.1.jar:2.12.1]at org.apache.camel.impl.DefaultCamelContext.<init>(DefaultCamelContext.java:234) [camel-core-2.12.1.jar:2.12.1]at org.apache.camel.spring.SpringCamelContext.<init>(SpringCamelContext.java:67) [camel-spring-2.12.1.jar:2.12.1]at org.apache.camel.spring.CamelContextFactoryBean.newCamelContext(CamelContextFactoryBean.java:356) [camel-spring-2.12.1.jar:2.12.1]at org.apache.camel.spring.CamelContextFactoryBean.createContext(CamelContextFactoryBean.java:350) [camel-spring-2.12.1.jar:2.12.1]at org.apache.camel.spring.CamelContextFactoryBean.getContext(CamelContextFactoryBean.java:361) [camel-spring-2.12.1.jar:2.12.1]at org.apache.camel.spring.CamelContextFactoryBean.getContext(CamelContextFactoryBean.java:80) [camel-spring-2.12.1.jar:2.12.1]at org.apache.camel.core.xml.AbstractCamelContextFactoryBean.getContext(AbstractCamelContextFactoryBean.java:518) [camel-spring-2.12.1.jar:2.12.1]at org.apache.camel.core.xml.AbstractCamelContextFactoryBean.afterPropertiesSet(AbstractCamelContextFactoryBean.java:160) [camel-spring-2.12.1.jar:2.12.1]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1571) [spring-beans-3.2.5.RELEASE.jar:3.2.5.RELEASE]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1509) [spring-beans-3.2.5.RELEASE.jar:3.2.5.RELEASE]... 23 more
Caused by: java.lang.ClassNotFoundException: sun.misc.Unsafe from [Module "org.apache.camel:2.12.1" from local module loader @1a6e5d5 (finder: local module finder @3b3402 (roots: /home/torun/jboss/wildfly/wildfly-8.0.0.Beta1/modules,/home/torun/jboss/wildfly/wildfly-8.0.0.Beta1/modules/system/layers/base))]at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:197) [jboss-modules.jar:1.3.0.Final]...

要么

Caused by: java.lang.NoClassDefFoundError: org/w3c/dom/Nodeat java.lang.Class.getDeclaredConstructors0(Native Method) [rt.jar:1.7.0_40]at java.lang.Class.privateGetDeclaredConstructors(Class.java:2483) [rt.jar:1.7.0_40]at java.lang.Class.getConstructor0(Class.java:2793) [rt.jar:1.7.0_40]at java.lang.Class.getDeclaredConstructor(Class.java:2043) [rt.jar:1.7.0_40]at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:105)at org.springframework.beans.factory.xml.DefaultNamespaceHandlerResolver.resolve(DefaultNamespaceHandlerResolver.java:129)... 29 more
Caused by: java.lang.ClassNotFoundException: org.w3c.dom.Node from [Module "org.apache.camel:2.12.1" from local module loader @1a6e5d5 (finder: local module finder @3b3402 (roots: /home/torun/jboss/wildfly/wildfly-8.0.0.Beta1/modules,/home/torun/jboss/wildfly/wildfly-8.0.0.Beta1/modules/system/layers/base))]at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:197) [jboss-modules.jar:1.3.0.Final]...

要么

Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBExceptionat java.lang.Class.getDeclaredConstructors0(Native Method) [rt.jar:1.7.0_40]at java.lang.Class.privateGetDeclaredConstructors(Class.java:2483) [rt.jar:1.7.0_40]at java.lang.Class.getConstructor0(Class.java:2793) [rt.jar:1.7.0_40]at java.lang.Class.getDeclaredConstructor(Class.java:2043) [rt.jar:1.7.0_40]at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:105)at org.springframework.beans.factory.xml.DefaultNamespaceHandlerResolver.resolve(DefaultNamespaceHandlerResolver.java:129)... 29 more
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException from [Module "org.apache.camel:2.12.1" from local module loader @1a6e5d5 (finder: local module finder @3b3402 (roots: /home/torun/jboss/wildfly/wildfly-8.0.0.Beta1/modules,/home/torun/jboss/wildfly/wildfly-8.0.0.Beta1/modules/system/layers/base))]at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:197) [jboss-modules.jar:1.3.0.Final]...

希望能帮助到你!

参考: Java,Integration和源博客的优点,来自我们的JCG合作伙伴 Adrianos Dadis,在WildFly中将Apache Camel和Spring添加为jboss模块 。

翻译自: https://www.javacodegeeks.com/2013/11/add-apache-camel-and-spring-as-jboss-modules-in-wildfly.html

apache camel

apache camel_在WildFly中将Apache Camel和Spring添加为jboss模块相关推荐

  1. 在WildFly中将Apache Camel和Spring添加为jboss模块

    这些天,我在玩Wildfly , Apache Camel和Spring . 在EAR / WAR之间进行通信的一种简单方法是使用Camel的direct-vm组件. 有或没有骆驼,有很多方法可以实现 ...

  2. 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 ...

  3. apache camel_使用Java的Apache Camel入门

    apache camel Apache Camel是一个非常有用的库,可以帮助您处理来自许多不同来源的事件或消息. 您可以通过许多不同的协议(例如在VM,HTTP,FTP,JMS甚至DIRECTORY ...

  4. apache.camel_在即将发布的Camel 2.21版本中改进了使用Apache Camel和ActiveMQ Artemis处理大型消息的功能...

    apache.camel 从历史上看, Apache ActiveMQ消息代理最初是在大型消息以MB为单位而不是GB的情况下创建的,就像您今天所做的那样. 下一代代理Apache ActiveMQ A ...

  5. apache camel_什么时候使用Apache Camel?

    apache camel Apache Camel是JVM / Java环境中我最喜欢的开源框架之一. 它可以轻松集成使用多种协议和技术的不同应用程序. 本文介绍了何时使用Apache Camel以及 ...

  6. apache camel_轻量级的开源集成:Apache Camel还是Spring集成?

    apache camel 首先,为全面披露信息,在过去的1.5年中, 我一直担任 FuseSource(现为Red Hat) 的顾问,为零售,运输,银行/金融等不同行业的大型和小型公司提供SOA和集成 ...

  7. Wildfly,Apache CXF和@SchemaValidation

    在过去的几天中,我一直在进行从JBoss 4到Wildfly 8的应用程序迁移. 该应用程序使用了不同的技术,但是我们这里将重点放在XML Web Services JAX-WS上 . 是的,我知道它 ...

  8. 轻量级的开源集成:Apache Camel还是Spring集成?

    首先,为全面披露信息,在过去的1.5年中, 我一直担任 FuseSource(现为Red Hat) 的顾问,为零售,运输,银行/金融等不同行业的大型和小型公司提供SOA和集成项目支持.我的专长是使用该 ...

  9. WildFly 8的Camel子系统集成了Java EE –入门

    就在三天前,围绕Thomas Diesler( @tdiesler )的团队发布了WildFly-Camel子系统的2.0.0.CR1版本,它允许您将Camel Routes添加为WildFly配置的 ...

最新文章

  1. 部署 SCCM 2012R2之三:系统准备篇
  2. 搭建WSS 开发测试环境
  3. 下一步工作,尽量将代码整理归拢成可以随意组合拆装的代码块。
  4. mysql默认乐观锁悲观锁_MySQL中悲观锁和乐观锁到底是什么?-阿里云开发者社区...
  5. java实现断点续传_Android 强升逻辑和实现
  6. 残差网络(ResNet)
  7. An attempt has been made to start a new process before the current process
  8. 灯亮怎么办_发动机故障灯亮了怎么办?看了这些,也许根本不用去4S店
  9. MAX DotNet 透明界面效果代码实例 转自CG++原帖
  10. 将转为时间戳php,php将时间转化为时间戳的方法
  11. PHP + Apache + Mysql集成环境部署及简要教程
  12. 2020年国赛密码学湖湘杯密码学第一题writeup
  13. “老三论”与“新三论”
  14. vue项目,解决ie缓存问题
  15. Deepin-TIM或Deepin-QQ调整界面DPI字体大小的方法
  16. 华为WATCH 3手表怎么收能量,速领手表一键收能量
  17. R语言多元Logistic逻辑回归 应用案例
  18. Windows+GCC得到各种格式的文件正文(office文件,PDF,邮件,html,zip等)
  19. 高斯过程 (Gaussian Process)
  20. 【Android】自定义FlowLayout,支持多种布局优化--android-flowlayout

热门文章

  1. 【dfs】益智游戏(2017 特长生 T2)
  2. 【并查集】黑魔法师之门(codevs 1995/joyoi-codevs 1995)
  3. 组合数学与数论函数专题
  4. 洛谷P1120小木棒 爆搜+剪枝
  5. Spring MVC总结
  6. Scala与Java差异(五)之Map与Tuple
  7. 分布式之redis复习精讲
  8. php快速学习方法,php快速入门学习方法
  9. matlab eval 不显示,matlab中 eval(command); 运算符无效的问题
  10. java流与文件——正则表达式