2017-01-24 49 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初始化。