Apache Camel请向我解释这些端点选项的含义
在即將發布的Apache Camel 2.15中,我們使Camel更智能。 現在,它可以充當老師,并向您說明其配置方式以及這些選項的含義。
Camel可以做的第一課是告訴您如何配置所有端點以及這些選項的含義。
接下來我們要學習的課程是讓Camel解釋EIP的選項。
好了,一幅圖片值得一千個單詞,所以讓我展示Apache Karaf的屏幕截圖,您可以在其中使用新的endpoint-explain命令來解釋如何配置端點。
  
Apache的屏幕截圖來自我在Karaf中安裝的SQL示例 。 此示例使用多個端點,其中一個端點每5秒觸發一次。 從上面可以看到,該命令列出了端點uri:timer:// foo?period = 5s,然后在下面解釋了該選項。 由于uri僅具有1個選項,因此僅列出了一個。 我們可以看到該選項被命名為period。 它的java類型很長。 json模式類型為整數。 我們可以看到該值為5s,在說明該值的說明的下方。
那么為什么列出兩種類型呢? 想法是存在一種適合于工具等的類型,因為它對應于JSonSchema規范具有更簡單的類型類別。 還列出了Java中的實際類型。
計時器端點還有更多選項,因此我們可以使用–verbose選項列出所有選項,如下所示:
說明端點功能也可以作為JMX或CamelContext上的Java API使用。 對于JMX,每個端點mbean都有一個說明操作,該操作返回具有上述數據的表格數據。 jconsole的以下屏幕截圖對此進行了說明:
另外,在CamelContext MBean上有一個通用的explainEndpointJson操作,它可以解釋所提供的任何任意uri。 因此,您可以解釋Camel不使用的端點。
那么這是如何工作的呢?
在構建Apache Camel版本的過程中,我們為每個組件生成一個HTML和JSon模式,其中每個端點選項都以其名稱,類型和描述進行記錄。 對于枚舉,我們列出了可能的值。
這是camel-sql組件的此類json模式的示例:
現在,要使其正常工作,該組件必須支持uri選項,這需要使用@UriEndpoint注釋終結點 。 盡管Camel團隊尚未遷移Camel版本中的所有160多個組件。 但是我們計劃隨著時間的推移遷移組件。
當然,現在有了新功能,它鼓勵我們遷移所有組件。
那么我們從哪里獲得文檔? 好吧,它只是Java代碼,所以您要做的就是為端點選項設置getter / setter。 添加@UriParam批注,然后為setter添加javadoc。 是的,我們將javadoc作為文檔。 因此,它只是作為標準javadoc記錄在一個地方,并在源代碼中有記載。
 我希望我們將來能自動為這些組件生成Camel網站文檔,因此我們不必在其Wiki系統中單獨進行維護。 但這將需要艱苦的工作才能實現。 但是最終我們應該到達那里,因此每個組件都記錄在源代碼中。 例如,對于每個具有所有組件文檔的組件,我們可能都有一個readme.md,然后將端點選項從Camel內置系統自動注入到該readme.md文件中。 擁有readme.md文件還允許github用戶使用github樣式很好地瀏覽Camel組件文檔! 
 
那么下一步是什么?
hawtio Web控制臺也將集成此功能,因此從Camel 2.15開始的用戶可以立即在Web控制臺中獲取該信息。
然后開始在Spring / Blueprint用戶的XML模式中包含有關EIP的文檔。 并改進EIP的javadoc,因為這也成為文檔的唯一來源。 然后,當人們在XML編輯器中開發其駱駝路線時,這將允許諸如Eclipse / IDEA / Netbeans之類的工具以及諸如此類的工具來顯示文檔,因為該文檔在XSD中以xsd:documentation標記提供。
我們已經捕捉到一些想法,在CAMEL-7999票證中還有其他事情。 如果您有任何其他需要改進的想法,那么我們歡迎社區提供反饋。
翻譯自: https://www.javacodegeeks.com/2014/11/apache-camel-please-explain-me-what-these-endpoint-options-mean.html
總結
以上是生活随笔為你收集整理的Apache Camel请向我解释这些端点选项的含义的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 电脑桌面格子壁纸(桌面壁纸格子图)
- 下一篇: 功放机电脑喇叭接线图(功放机接喇叭的接法
