我努力配置hibernate jmx,以便通過hibernate jconsole插件獲得一些指標。休眠jconsole彈簧配置
其實我也跟着從休眠狀態的JConsole插件的官方網站的配置:http://hibernate-jcons.sourceforge.net/usage.html#pre-requisites
,但它不工作,所以我搜索互聯網上幾個小時,測試的東西。唯一相關的事情,我發現,與我的問題,就是:How to configure Hibernate statistics in Spring 3.0 application?
,但它仍然無法正常工作。我需要你的幫助。
這裏是配置:
@PersistenceContext(unitName = DomainConstants.JPA_PU_BACKEND)
private EntityManager em;
@Bean(name="jmxExporter")
public MBeanExporter jmxExporter() throws MalformedObjectNameException, InstanceAlreadyExistsException, MBeanRegistrationException, NotCompliantMBeanException {
MBeanExporter exporter = new MBeanExporter();
Map<String, Object> beans = new HashMap<String, Object>();
beans.put("Hibernate:application=Statistics", "hibernateStatisticsBean");
MBeanServerFactoryBean serverFactory = new MBeanServerFactoryBean();
serverFactory.setLocateExistingServerIfPossible(true);
// --- new1
MBeanServer MBeanServer = serverFactory.getObject();
exporter.setServer(MBeanServer);
exporter.setRegistrationPolicy(RegistrationPolicy.REPLACE_EXISTING);
// end -- new1
exporter.setBeans(beans);
return exporter;
}
@Bean(name="hibernateStatisticsBean")
public StatisticsService hibernateStatisticsBean() {
StatisticsService service = new StatisticsService();
service.setStatisticsEnabled(true);
service.setSessionFactory(((Session)em.getDelegate()).getSessionFactory());
return service;
}
我還設置hibernate.generate_statistics爲true,Hibernate配置。
我被卡住了。我真的需要這個工具來工作,因爲我們的查詢花費了很多時間。這個工具將是完美的。
編輯: 的的MBean似乎被加載。當我做查詢時,屬性會改變。 image2 http://imageshack.com/a/img838/5904/dj8c.png
但是,當我試圖調用操作之一:getQueryStatistics,getCollectionStatistics等。我得到以下錯誤: image1 http://imageshack.com/a/img838/9693/ibkd.png
而實際上我不知道查詢統計,沒有任何顯示: image3 http://imageshack.com/a/img835/8088/laoz.png
嘗試直接設置的bean引用,而不是它的名字:'beans.put(「休眠:應用=統計」 ,hibernateStatisticsBean())'。 –
謝謝安德烈的幫助。我試過你的解決方案,但它並沒有改變任何東西。 –
當你說它不起作用時,這是什麼意思? MBean不會顯示在JMX中,您可以連接到JMX服務器等?你可以發佈一些日誌嗎? –