2017-01-24 50 views
0

我正在開發基於OSGI的應用程序,該應用程序在Karaf上運行。我們使用JPA和Hibernate連接到mysql。使用Ehcache啓用了二級緩存。我想啓用Ehcache的JMX監視。我發現了一篇文章,講述如何在Spring應用程序(http://www.codesenior.com/en/tutorial/How-to-monitor-Ehcache-in-JMX-with-Spring-Configuration)上對Ehcache的JMX監視啓用。在osgi中啓用EhCache的jmx監視器env

有沒有類似於上面的例子,在Karaf上運行的OSGI應用程序上配置JMX監視EHcache的方法?

回答

0

從我所瞭解的情況來看,Hibernate並沒有自己創建CacheManager。 所以你必須要麼:

  • 插入Hibernate的二級緩存初始化獲得在CacheManager並運行ManagementService.registerMBeans的文章談到有關。您可以通過擴展Hibernate Ehcache提供程序來完成此操作,以便它添加初始化步驟。見org.hibernate.cache.ehcache.EhCacheRegionFactory
  • 在您的應用程序啓動中找到合適的位置,其中CacheManager已由Hibernate創建,使用net.sf.ehcache.CacheManager#ALL_CACHE_MANAGERS映射進行調用,然後像文章中那樣執行MBean初始化。