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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jolokia_Hawtio和Jolokia的Hibernate统计

發布時間:2023/12/3 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jolokia_Hawtio和Jolokia的Hibernate统计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

jolokia

企業Java的很大一部分處理數據。 在企業設置中使用數據的所有不同方式中,仍然存在使用任何種類的O / R映射的行之有效且廣泛教授的方法。 JPA標準使每個人都比較容易使用它,并且它也應該是可移植的。 但是,我們不要談論遷移細節。 O / R映射的最大缺點是,開發人員往往會失去與數據庫上發生的事情的聯系,甚至無法獲得針對該數據庫發出的確切SQL語句的聯系。 這是這些項目遇到性能問題的第一原因。 如果您在那里,則需要分析根本原因并深入分析問題。 我最近發現了Hibernate的一個不錯的功能,它使這一工作變得相當容易。

可用的統計信息和獲取方法。

Hibernate最多提供3.5.x版本的統計信息和指標API,可讓您了解幕后發生的事情。 統計接口API中對所有可用計數器進行了描述,分為三類:

  • 與常規會話使用率有關的度量標準,例如打開的會話數,檢索到的JDBC連接等。
  • 與實體,集合,查詢和緩存整體相關的指標(也稱為全局指標)。
  • 與特定實體,集合,查詢或緩存區域有關的詳細指標。

例如,您可以檢查實體,集合和查詢的高速緩存命中率,未命中率和放置率,以及查詢所需的平均時間。 請注意,在Java中,毫秒數是近似值。 Hibernate與JVM精度有關,在某些平臺上,這可能僅精確到10秒。

簡單的獲取器用于訪問全局度量(即不綁定到特定實體,集合,緩存區域等)。 您可以通過名稱,通過其HQL或SQL表示形式訪問特定實體,集合或緩存區域的指標。 有關更多信息,請參考Statistics, EntityStatistics , CollectionStatistics , SecondLevelCacheStatistics和QueryStatistics API Javadoc。

您要做的就是為您感興趣的會話工廠啟用統計信息,并檢索統計數據以對其進行分析。 那里有很多示例如何在Spring中使用此功能。 原因很簡單:Spring附帶了一個傳奇的MBeanExporter,它將JMX MBeans公開為Java對象。 想一想:Hibernate Statistics提供了一種通過JMX公開它們的簡便方法。 但是,如果您僅組合了一些RedHat魔術,就無需使用Spring!

基本上,您可以通過兩種不同的方式在已配置的設置中啟用統計信息。 最簡單的方法是向持久性單元配置添加屬性:

<property name="hibernate.generate_statistics" value="true"/>

但是也可以手動啟用它們。 有關如何執行此操作的更多詳細信息,請參見社區Wiki和Hibernate文檔中的性能監控部分。

通過示例啟用和公開統計信息

我創建了一個小示例獨立的Hibernate應用程序,該應用程序具有兩個實體和一個主要類,該類正在使用hibernate并初始化您需要了解的所有內容。 通過在GitHub上進行分叉,立即獲得它 。 這是一些簡單的演練:

有兩個強制性實體(部門和雇員)和META-INF / persistence.xml。 這是基本設置。 這里沒有太多魔術。 您可以在persistence.xml中查看在何處啟用統計信息(可能)。 該示例在主類JpaTest中啟用它們。 但是,讓我們從頭開始。 main方法按順序執行以下步驟:

  • 創建要使用的EntityManager。
  • 注冊我們需要的統計Mbean。
  • 初始化Jolokia服務器以通過JSON for Hawtio公開JMX
  • 對實體做些事情。
  • 魔術始于第二個步驟,該步驟位于registerHibernateMBeans(EntityManager manager)方法中。 它動手了PlatformMBeanServer,注冊了相關的Hibernate JMX Mbean,設置了我們感興趣的Session Factory并啟用了統計信息。 那很容易。 現在,您已經注冊了屬性“ statistics”的JMX MBean“ Hibernate”。 如果您可以通過JConsole或Mission Control或VisualVM訪問服務器,則可以簡單地連接到該進程并瀏覽統計信息:

    JConsole中的Hibernate MBean


    在生產環境中,這通常是根本不可能的。 因此,您需要找到一種通過http / https進行訪問的方法。 在這里,我發現可以方便地將Hawtio用作用于管理Java東西的模塊化Web控制臺。 簡而言之,這是一個帶有插件的網絡控制臺。 它有大量的插件 ,可以自定義和擴展以滿足您的需求。 今天,我們正在看一個非常簡單的插件JMX plugin 。 它為您提供了底層JMX度量標準數據的原始視圖,從而允許訪問MBean的整個JMX域樹。 但是為了實現這一點,我們首先需要找到一種向Hawtio公開JMX功能的方法。 這是Jolokia出現的地方。其中有一個JVM代理 ,可以通過JSON公開JMX MBean。 您所需要做的就是像這樣初始化并啟動服務器:

    JolokiaServerConfig config = new JolokiaServerConfig(new HashMap<String, String>()); JolokiaServer jolokiaServer = new JolokiaServer(config, true); jolokiaServer.start();

    現在,您可以嘗試使用Hawtio控制臺了。 查看快速入門 ,看看有什么可能。 對于本示例,我僅使用Google Chrome擴展程序,您只需下載并拖動到Chrome中的擴展程序頁面即可。 看起來像:

    Chrome中的Hawtio擴展


    如果您配置“ localhost”,“ 8778”和路徑“ jolokia”,那么您都將開始瀏覽結果。 單擊“連接”后,您可以瀏覽儀表板或切換到JMX視圖并導航到Hibernate MBean:

    使用Hawtio瀏覽JMX MBean


    來自DevNation 2014的Stan Lewis對Hawtio進行了更全面的介紹,等待您觀看:

    這是一個簡短的例子。 繼續閱讀GitHub源代碼,并隨意研究Hawtio:

    • 閱讀入門指南,以了解如何在您自己的環境中下載和安裝Hawtio。
    • 閱讀有關如何在各種環境中配置Hawtio的信息 ,例如配置安全性以及Hawtio的存儲位置。
    • 了解如何在WildFly上配置Hawtio 。
    • 我們更喜歡使用問題跟蹤器來處理想法和問題 ,但是如果您只想談論Hawtio的所有事情,請加入我們的郵件列表 。
    • 在GitHub上找到Hawtio源代碼 。

    翻譯自: https://www.javacodegeeks.com/2014/08/hibernate-statistics-with-hawtio-and-jolokia.html

    jolokia

    總結

    以上是生活随笔為你收集整理的jolokia_Hawtio和Jolokia的Hibernate统计的全部內容,希望文章能夠幫你解決所遇到的問題。

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