玩Weld-Probe –一站式查看CDI的所有方面
焊接3.0.0.Alpha4被釋放 ,而我一直坐在在DevConf.CZ一間會議室。 Jozef Hartinger( @jozefhartinger )或多或少地在幾分鐘前告訴我有關此最新版本的新功能的信息。 有一個特別的功能真正引起了我的注意,它是新的焊接探針機制。
什么是焊接?
Weld是CDI的參考實現:Java EE平臺的上下文和依賴注入,這是用于依賴注入和上下文生命周期管理的Java標準,并且是Java EE平臺最重要和最受歡迎的部分之一。
Weld已集成到許多Java EE應用服務器中,例如WildFly,JBoss企業應用平臺,GlassFish,Oracle WebLogic等。 Weld也可以在僅Servlet的環境(Tomcat,Jetty)或純Java SE環境中使用。
Weld 3.x標記了將在Java EE 8中包含的下一個CDI 2.0版本的第一個實驗階段的版本。您可能已經猜到,沒有預先配置服務器并可以運行任何即將到來的Java EE。無論處于哪個階段,都需要8個RI?!疤厥夂附印奔夹g已經領先于人群,并且最近開始嘗試甚至沒有指定的功能。 為了不影響WildFly 9團隊的改進,最新版本尚未包括在內。
使用Weld 3.0.0.Alpha4進行CDI 2.0的試駕
為了今天測試Weld,您需要WildFly 8.2的穩定版本并進行相應的修補。 如果您想使用最新的WildFly 9,也有相應的補丁程序 。 我們去下載最新的WildFly 8.2.0.Final,并將其解壓縮到您選擇的位置。 我們需要的下一個下載是WildFly 8.2的Weld 3 Alpha4補丁 。 可以通過WildFly內置補丁機制來應用補丁:
$>/WildFly/bin/jboss-cli.bat|sh --command="patch apply /path/to/wildfly-8.2.0.Final-weld-3.0.0.Alph4-patch.zip"成功的結果應如下所示:
{"outcome" : "success","result" : {} }現在您已經準備好開始WildFly。 請記住,這不是官方補丁! 因此,現在考慮這是一種更新Weld版本的簡便方法。 而已。 如果您想了解有關修補WildFly的更多信息,請參閱Arun的有關修補的博客文章 。
$>/WildFly/bin/standalone.bat|sh現在是時候嘗試一下了。 值得關注的一個好地方是GitHub上的Java EE 8示例項目 。 仍處于起步階段,但至少有一個新的CDI 2.0示例可以立即使用。 但是我正在向您展示Weld的另一個新功能,即新的Weld-Probe機制。 因此,我們首先需要一些Web應用程序。 Github上的weld / core / master分支中有幾個示例。 其中之一是著名的數字猜想例子 。
Weld-Probe回答您所有的CDI問題
為什么我的領域沒有注入? 為什么沒有觸發我的攔截器? 第三方庫注冊了哪些擴展? 您是否曾經問過類似的問題? 使Weld開發人員更友好并對故障排除有所幫助是新3.x版本的主要目標之一。 今天,我向您介紹一種名為“焊接探針”的新工具。 Probe是一個內置工具,可提供有關CDI應用程序內部的詳細視圖。 Weld Probe具有Web UI,并且是開箱即用的。
Probe使您可以輕松檢查以下CDI方面。 未來還有更多計劃。
- bean,它們的屬性,例如限定詞,構造型和名稱
- Bean依賴關系圖
- 豆類宣布的觀察員和生產者
- 綁定到bean的攔截器和裝飾器
- 擴展名
- 有關當前上下文實例的信息
- 跟蹤調用和調用樹
Probe并不是要替換調試器或探查器之類的工具。 它更多地是關于了解應用程序并提供有關內部工作原理的高級視圖。
探針由REST API和默認(單頁應用程序)客戶端組成。 因此,它僅在Web應用程序中可用。 您只需通過添加servlet初始化參數org.jboss.weld.development并將其設置為true即可為開發建議明確啟用它:
<context-param> <param-name>org.jboss.weld.development</param-name> <param-value>true</param-value> </context-param>開始,構建示例并部署它。 現在,您可以看到數字猜測示例的工作。 但是還有更多。 只需稍微更改應用程序的URL并在上下文末尾添加“ / weld-probe”即可:http:// localhost:8080 / weld-numberguess / weld-probe,您將看到以下內容:
查看頂部導航可為您提供以下區域:
豆檔案
初始視圖顯示了應用程序中的所有bean歸檔。 您可以決定隱藏外部檔案,可訪問性圖為您提供了非常有用的概述,用于復雜的部署。
組態
可以通過屬性集為每個應用程序配置焊接。 焊接配置屬性及其最終值的概述(完整參考焊接配置 )。
豆子
該視圖顯示了Weld知道的所有咖啡豆。 請注意,還顯示了內置的bean和其他集成的Java EE規范(例如,對于JSR 352:Java平臺的批處理應用程序)。 有多種過濾器可以找到您感興趣的bean。bean的詳細信息顯示所有重要的屬性,聲明的觀察者和生產者,為生產者聲明bean以及依賴項和依賴項。
觀察者方法
發現所有已注冊的觀察者方法,甚至包括在擴展中聲明的方法或其他Java EE規范中的方法。
語境
該視圖使您可以在應用程序和會話上下文中檢查Bean實例。
調用樹
最后,調用樹顯示給定入口點內的所有調用。 入口點是監視器在某個線程中捕獲的第一個業務方法調用。
就是這樣 如果您缺少任何內容或希望對現有功能發表評論,請隨時在Weld JIRA中提出問題。 請記住,這仍在進行中,并且會隨著每個新版本的更改和增強。
CDI 2.0想要您!
但這還不是全部! CDI 2.0需要您的幫助和投入。 您可以通過多種方式做出貢獻,規范負責人Antoine撰寫了一篇很棒的博客文章,介紹了您可以做什么以及如何參與 。 也可以隨時與Weld社區聯系并提供您的反饋。
翻譯自: https://www.javacodegeeks.com/2015/02/playing-weld-probe-see-cdi-aspects-one-place.html
總結
以上是生活随笔為你收集整理的玩Weld-Probe –一站式查看CDI的所有方面的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 哪些攻击是ddos的攻击方式(哪些攻击是
- 下一篇: 滕州房管局备案查询网站(滕州市房管局备案