日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

与Java EE和Camel的轻量级集成

發布時間:2023/12/3 java 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 与Java EE和Camel的轻量级集成 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Enterprise Java具有不同的風格和觀點。 從簡單的平臺技術開始,即眾所周知的Java EE,再到不同的框架和集成方面,最后是涉及以數據為中心的用戶界面或特定可視化效果的用例。 Java EE本身無法解決的最突出的問題是“集成”。 有許多來自知名供應商的產品,它們可以解決各種集成問題并承諾提供完整的解決方案。 作為開發人員,您不時需要的只是一個可行的解決方案。 對于系統集成而言,這是Java EE開發人員的終極“入門資源”。

一點整合理論

集成挑戰并不是什么新鮮事物。 由于存在不同類型的系統,并且需要將其數據組合到另一個系統中,因此這一直是中心主題。 Gregor Hohpe和Bobby Woolf開始收集用于解決客戶集成問題的一組基本模式。 這些企業集成模式 (EIP)可以被視為集成的圣經。 它嘗試通過定義65種集成模式來找到有關異步消息傳遞體系結構的通用詞匯表和知識體系。 Forrester將其稱為“ EAI的核心語言”。

什么是Apache Camel?

Apache Camel為您提供了EIP的接口,基礎對象,通常需要的實現,調試工具,配置系統以及許多其他幫助器,當您要實施解決方案以遵循EIP時,將為您節省大量時間。 這是一個完整的生產就緒框架。 但這并不能止于最初定義的65個模式 。 它擴展了150多個現成的組件 ,可解決端點或系統或技術集成方面的各種問題。 在較高的層次上,Camel由CamelContext組成,其中包含Component實例的集合。 組件本質上是Endpoint實例的工廠。 您可以在Java代碼或IoC容器(例如Spring,Guice或CDI)中顯式配置Component實例,也可以使用URI自動發現它們。

Java EE開發人員為什么要關心?

企業項目要求我們這樣做。 處理各種系統集成一直是一個具有挑戰性的話題。 您可以通過使用消息傳遞系統選擇復雜的道路,并將其連接到您的應用程序中,然后自己實現一切,或者通過使用不同的產品走上繁重的道路。 從那時起,我一直是更實用的解決方案的粉絲。 這就是Camel的實際含義:相對輕巧,易于引導,并附帶大量預構建的集成組件,使開發人員可以專注于解決其背后的業務需求。 無需學習新的API或工具。 Camel帶有基于Java的Fluent API , Spring或Blueprint XML Configuration文件 ,甚至還有Scala DSL 。 因此,無論您是從哪一個基地跳下來的,您總會發現一些您已經知道的東西。

如何開始?

我懂了嗎 想要試一試? 這也很容易。 根據您使用的框架和平臺,您有不同的方式。 回顧帖子標題,本文將重點介紹Java EE。

因此,您可以做的第一件事就是自行引導駱駝。 您需要的只是核心駱駝依賴關系和cdi-camel依賴關系。 設置一個普通的Java EE 7 maven項目并添加這兩個項目已足夠。

<dependency><groupId>org.apache.camel</groupId><artifactId>camel-core</artifactId><version>${camel.version}</version> </dependency> <dependency><groupId>org.apache.camel</groupId><artifactId>camel-cdi</artifactId><version>${camel.version}</version> </dependency>

接下來需要做的是找到一個注入第一個CamelContext的地方。

@InjectCdiCamelContext context;

注入所有內容后,您可以開始向其中添加路由。 在GitHub上的CamelEE7項目中可以找到更完整的示例。 只需叉子就可以了。 這將在隨機的Java EE應用程序服務器上工作。 如果您已經在使用WildFly ,則還可以充分利用WildFly-Camel子系統 。

WildFly駱駝子系統

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。

如果要開始使用它,可以更詳細地看我的博客文章 。

尋找例子


如果您很興奮,并且一切都準備就緒并且可以運行,那么現在該深入探討一些示例了。 首先要看的是發行版中的示例目錄 。 有一個您可能需要的所有示例。

最重要的用例之一是與ActiveMQ的緊密集成。 并假設您有一堆JMS消息需要轉換為存儲在文件系統中的文件:這是一項完美的Camel作業。 您需要配置ActiveMQ組件 ,而不是上面所看到的,它還允許使用Apache ActiveMQ將消息發送到JMS隊列或主題,或者從JMS隊列或主題使用消息。

以下代碼向您展示了如何將JMS消息從test.queue隊列轉換為文件組件,該文件組件將使用它們并將它們存儲到磁盤。

context.addRoutes(new RouteBuilder() {public void configure() {from("test-jms:queue:test.queue").to("file://test");}});

想像一下自己做。 需要更多復雜的示例嗎? 與Twitter集成? 還是其他不同的技術? 有很多示例可供選擇。 可能是駱駝最令人興奮的方面之一。 它輕巧,穩定,并且已經存在多年了。 確保還遵循郵件列表和論壇 。

翻譯自: https://www.javacodegeeks.com/2014/12/lightweight-integration-with-java-ee-and-camel.html

總結

以上是生活随笔為你收集整理的与Java EE和Camel的轻量级集成的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。