在osgi环境中为EhCache启用jmx监视器

时间:2017-01-24 00:09:02

标签: hibernate osgi ehcache jmx karaf

我正在开发基于OSGI的应用程序,该应用程序在Karaf上运行。我们使用JPA和Hibernate连接到mysql。使用Ehcache启用了2级缓存。我想启用Ehcache的JMX监控。我发现了一篇文章,讲述了如何在Spring应用程序(http://www.codesenior.com/en/tutorial/How-to-monitor-Ehcache-in-JMX-with-Spring-Configuration)上启用Ehcache的JMX监视。

有没有办法在Karaf上运行的OSGI应用程序上配置EHcache的JMX监控,类似于上面的示例?

1 个答案:

答案 0 :(得分:0)

根据我的理解,你不会自己创建CacheManager,Hibernate会这样做。 所以你必须要么:

  • 插入Hibernate二级缓存初始化以获取CacheManager并运行文章所述的ManagementService.registerMBeans。您可以通过扩展Hibernate Ehcache提供程序来实现这一点,以便添加初始化步骤。请参阅org.hibernate.cache.ehcache.EhCacheRegionFactory
  • 在您的应用程序启动中找到一个逻辑位置,其中CacheManager已由Hibernate创建,使用net.sf.ehcache.CacheManager#ALL_CACHE_MANAGERS映射获取它,并执行文章中的MBean初始化。