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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/344902.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国家开放大学2021春1129土木工程力学(本)题目

教育 教育 试卷代号&#xff1a; 1129 2021年春季学期期末统一考试 土木工程力学&#xff08;本&#xff09; 试题 2021年7月 一、单项选择题&#xff08;每小题3分&#xff0c;共30.分。在所列备选项中&#xff0c;选1项正确的或最好的作为答案填入括弧&#xff09; 1.求图示…

华为android打开usb调试模式,华为 PE-CL00 开启USB调试模式

我们要将华为 PE-CL00与电脑进行连接&#xff0c;就必须要打开华为 PE-CL00系统的调试模式&#xff0c;不同的系统版本打开调试模式的方法有所不同&#xff0c;在这里我们就谈谈华为 PE-CL00各种系统版本打开USB调试模式的方法。1、针对Android 2.1-2.2版本的系统&#xff1a;我…

国家开放大学2021春1044合同法题目

教育 教育 试卷代号&#xff1a; 1044 2021年春季学期期末统一考试 合同法 试题 2021年7月 注意事项 一、将你的学号、姓名及分校&#xff08;工作站&#xff09;名称填写在答题纸的规定栏内。考试结束后&#xff0c;把试卷和答题纸放在桌上。试卷和答题纸均不得带出考场。监…

API网关和AWS Lambda进行身份验证

当Foreach最初涉足微服务领域时&#xff0c;我们并没有真正构建微服务。 我们以为我们做到了&#xff0c;但是我们所有的服务中总存在一些逻辑。 当然&#xff0c;每个服务实际上应该只专注于自己的任务&#xff0c;而不应该专注于属于另一个微服务的事物。 我们这方面最明显的…

【渝粤教育】广东开放大学 企业项目报表分析 形成性考核 (35)

题库查询系统 选择题 题目&#xff1a;流动债的流动性分析主要从流动负债的到期日流动负债的推迟可能性两方面进行。 答案&#xff1a; A、正确 题目&#xff1a;营业利润是以主营业务利润为基础加上其他业务利润减去销售费用、管理费用和财务费用,再加上营业外收入减去营业外支…

魅蓝x android 7,魅蓝x2什么时候发布 魅蓝x2发布时间最新消息

日前&#xff0c;魅蓝品牌掌门人李楠或kkk便在微博上放出“bluegate(蓝色大门)”这样一个句子&#xff0c;似乎暗示魅蓝品牌或在近期会有动作&#xff0c;并且由于该条微博的尾巴显示为“下款魅蓝Android”&#xff0c;所以在不少网友看来&#xff0c;或许预示着魅蓝将有新机即…

【渝粤教育】广东开放大学 数据库原理与应用 形成性考核 (1)

题库查询系统 选择题 题目&#xff1a;数据库系统是采用了数据库技术的计算机系统&#xff0c;它是一个集合体&#xff0c;包含数据库、计算机硬件、软件和&#xff08; &#xff09; 答案&#xff1a; A、数据库管理员 题目&#xff1a;数据库&#xff08;DB&#xff09;&am…

Android 21mod,熊猫博士小镇合集 Mod

游戏介绍打通30个独具特色的区域界限&#xff0c;探索并发掘各式各样的奇妙冒险&#xff01;开启乐趣无限的冒险&#xff01;想成为一名维护正义的警察&#xff0c;或经营一间自己的美发沙龙&#xff0c;或成为一名救治动物的兽医&#xff1f;在熊猫博士小镇中&#xff0c;一切…

内存泄漏代码_调查内存泄漏第1部分–编写泄漏代码

内存泄漏代码前几天&#xff0c;我发现了这个小问题&#xff1a;该服务器运行了一段时间&#xff0c;然后掉下来了。 然后通过启动脚本重新启动&#xff0c;整个过程重复进行。 听起来并没有什么坏处&#xff0c;因为它虽然对数据造成了重大损失&#xff0c;但对业务的重要性并…

【渝粤教育】广东开放大学 广东开放大学学习指引 形成性考核 (28)

题库查询系统 选择题 题目&#xff1a;在开放大学的学习中认识同学可以增强开放大学学生间的交流与友情&#xff0c;促进学生对开放大学的归属感与认同感&#xff0c;克服学习中的孤独感。 答案&#xff1a; A、“对”。 题目&#xff1a;广东开放大学服务于广东学习型社会&…

【渝粤教育】广东开放大学 法理学 形成性考核 (46)

题库查询系统 选择题 题目&#xff1a;法理学与部门法的关系是&#xff08; &#xff09;的关系。 答案&#xff1a; A、理论与实际 B、 一般与特殊 C、 整体与局部 D、论与史 题目&#xff1a;法的最终决定因素是&#xff08;&#xff09;。 答案&#xff1a; A、阶级斗争状况…

android 打印kernel log,android8.0 kernel4.9.44 各层log打开

一.问题平台android8.0 kernel4.9.44&#xff0c;想加个i2c驱动&#xff0c;打开log都是一件脑瓜疼的事。二.log总结android有三种log。1.kernel下面的&#xff0c;就是driver层log。2.kernel上面的&#xff0c;init和init.rc启动的程序的log&#xff0c;应用层3.kernel上面的&…

【渝粤教育】广东开放大学 网络完全与技术 形成性考核 (44)

题库查询系统 选择题 题目&#xff1a;以下哪个不属于数字签名的功能( ) 答案&#xff1a; A、不可伪造的 B、可重用的 C、可信的 D、不可抵赖的 题目&#xff1a;前缀为Worm的病毒是( ) 答案&#xff1a; A、蠕虫病毒 B、后门病毒 C、杩 D、脚本病毒 题目&#xff1a;下面关于…

Java整数缓存-为什么Integer.valueOf(127)== Integer.valueOf(127)为True

在一次采访中&#xff0c;我的一个朋友被问到如果我们有两个Integer对象&#xff0c; Integer a 127; Integer b 127; Integer a 127; Integer b 127; 为什么当a b都持有两个单独的对象时&#xff0c;其值为true &#xff1f; 在本文中&#xff0c;我将尝试回答这个问题&a…

【渝粤教育】广东开放大学 中国法律史 形成性考核 (31)

题库查询系统 选择题 题目&#xff1a;春秋时期在晋国铸刑鼎的是 答案&#xff1a; A、赵鞅 题目&#xff1a;汉代的买卖契约叫做 答案&#xff1a; A、券书 题目&#xff1a;西周法官在审判中判断当事人陈述真伪的方式叫做 答案&#xff1a; A、“五听” 题目&#xff1a;明朝…

高鸿股份与鸿蒙,高鸿股份(000851)个股分析_牛叉诊股_同花顺财经

资金净流入资金净流出行业平均线[{"date":"2021-04-14","value":"1028.65","field":null},{"date":"2021-04-15","value":"213.51","field":null},{"date":&q…

【渝粤教育】广东开放大学 会展项目管理 形成性考核 (59)

题库查询系统 选择题 题目&#xff1a;为了确保项目团队和其他项目干系人完全理解并且投入到项目&#xff0c;目标必须是&#xff1f; 答案&#xff1a; A、现实的和可达到的 题目&#xff1a;在一定的组织里&#xff0c;一个项目一般不会正式启动&#xff0c;除非完成了&#…

【渝粤教育】广东开放大学 原画设计 形成性考核 (23)

题库查询系统 选择题 题目&#xff1a;在图层蒙版里用黑色画笔涂抹&#xff0c;可以遮盖住图层内相对应位置的图像信息 答案&#xff1a; A、正确 题目&#xff1a;图层样式描边的描边是根据选区边缘或路径来做描边的 答案&#xff1a; A、正确 题目&#xff1a;魔术橡皮擦工具…

android软解码花屏,视频花屏 · Issue #386 · bilibili/ijkplayer · GitHub

各位大神&#xff0c;还是没法解码ijkmp_set_format_callback(0x10d5e5, 0x17ec4a20)ijkmp_set_format_callback()voidijkmp_set_option_int(start-on-prepared, 1)ijkmp_set_option_int()voidijkmp_ios_set_view(glView0x17d36c10)ijkmp_ios_set_view(glView0x17d36c10)voidij…

【渝粤教育】广东开放大学 土木工程材料 形成性考核 (22)

选择题 题目&#xff1a;下列外加剂不能用于改善混凝土的耐久性的是 。 题目&#xff1a;安定性不良的水泥严禁在工程中使用。 题目&#xff1a;有硫酸盐腐蚀的混凝土工程应优先选择&#xff08; &#xff09;水泥 题目&#xff1a;有耐热要求的混凝土工程&#xff0c;应优先选…