apache camel_使用WildFly 8在Java EE7中自举Apache Camel
apache camel
從Camel版本2.10開始,支持CDI(JSR-299)和DI(JSR-330)。 這為在Java EE容器中以及在獨(dú)立的Java SE或CDI容器中開發(fā)和部署Apache Camel項(xiàng)目提供了新的機(jī)會。 是時(shí)候嘗試一下并熟悉它了。
駱駝到底是什么?
駱駝是一個(gè)集成框架。 有些人喜歡將其稱為ESB-lite。 但最后,這是在集成項(xiàng)目中取得成功的非常注重開發(fā)人員和組件的方式。 您有80多個(gè)預(yù)構(gòu)建組件可供選擇,并且它們基本上包含了企業(yè)集成模式的完整介紹,這些都是眾所周知的并且可以使用。 考慮到所有這些,想出一個(gè)答案并不容易。 如果您需要一個(gè),它可能是這樣的:它是消息技術(shù)與路由的結(jié)合。 它將消息傳遞的起點(diǎn)和終點(diǎn)連接在一起,從而允許將消息從不同的源傳輸?shù)讲煌哪康牡亍?
我為什么在乎?
對于企業(yè)級軟件,我顯然感到很興奮。 但始終喜歡更實(shí)用的解決方案。 關(guān)于何時(shí)使用Apache Camel以及隨著在非常異構(gòu)的平臺上集成不同系統(tǒng)的需求不斷增加,有一些不錯(cuò)的博客文章,擁有成熟的解決方案總是很方便的。 那里的大多數(shù)示例都是從引導(dǎo)完整的Camel魔術(shù)開始的,包括基于XML的Spring DSL及其必需的依賴項(xiàng)。 那把一切都炸毀了,我不想接受。 知道必須有一種輕量級的方法(Camel-Core在12.13.2版中為2.5 MB),我一直在研究如何自己引導(dǎo)它。 并使用其中的一些CDI魔術(shù)。
首先尋找想法的地方
顯然是GitHub上的Java EE示例項(xiàng)目 。 一些不安定的社區(qū)成員收集了大量的示例供您入門。 這里的最終目標(biāo)是提供有關(guān)如何在Java EE傘中使用不同規(guī)范的參考。 但是甚至包括一些額外的內(nèi)容,并展示了來自不同領(lǐng)域的示例,例如NoSQL,Twitter,Quartz Scheduling和最后但并非最不重要的Camel集成。 如果您按照最新的WildFly 8.1運(yùn)行它,它將無法正常工作。 Camel的cdi擴(kuò)展使其執(zhí)行起來有些棘手,但是如相應(yīng)問題中所述 ,有一種方法可以通過創(chuàng)建自定義否決擴(kuò)展來擺脫模糊的CDI依賴關(guān)系。 該問題已提交給駱駝 ,我聽說他們正在研究改善情況。 如果您想嘗試該示例,請轉(zhuǎn)到我的GitHub存儲庫并查找CamelEE7項(xiàng)目。
我是怎么做到的?
Bootstrap.java是一個(gè)@Singleton EJB,它在應(yīng)用程序啟動時(shí)加載(請記住, 在Java EE中有不同的啟動方法 ),通過@Inject org.apache.camel.cdi.CdiCamelContext您可以訪問Camel 。 這個(gè)小例子使用另一個(gè)HelloCamel bean展示了如何在CDI集成中使用有效負(fù)載。
確保查看CamelCdiVetoExtension.java及其在META-INF文件夾中的配置方式。 現(xiàn)在您可以開始了。 編碼愉快。
和最后的最好
Camel 12.14 已經(jīng)面世,計(jì)劃于9月發(fā)布。 如果您有任何疑問或希望在其中看到,現(xiàn)在是時(shí)候發(fā)言了 !
即將推出的令人敬畏的新功能的摘錄:
- 指標(biāo)組件
- DSL提供休息服務(wù)
- 搖搖欲墜的組件
是時(shí)候變得興奮了!
翻譯自: https://www.javacodegeeks.com/2014/09/bootstrapping-apache-camel-in-java-ee7-with-wildfly-8.html
apache camel
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的apache camel_使用WildFly 8在Java EE7中自举Apache Camel的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PIT,JUnit 5和Gradle –
- 下一篇: 最大连接数是什么意思(最大连接数linu