Spring, Hibernate EhCache с сервисом мониторинга - PullRequest
0 голосов
/ 28 мая 2018

Я использую Spring 4.3.7, Hibernate 5.2.9, hibernate-jcache 5.2.10 и ehcache 3.3.1.

это соответствующие свойства конфигурации JPA:

 properties.put("hibernate.cache.use_second_level_cache", "true");
        properties.put("hibernate.cache.use_query_cache", "true");
        properties.put("hibernate.cache.region.factory_class", "org.hibernate.cache.jcache.JCacheRegionFactory");
        properties.put("hibernate.javax.cache.provider", "org.ehcache.jsr107.EhcacheCachingProvider");
        properties.put("hibernate.generate_statistics", "true");

Я настроил кэширование L2 для своих сущностей и запросов.

В выводе журнала консоли я вижу, что происходит некоторое кэширование.Но я хочу использовать jconsole для изучения статистики.

Мой вопрос заключается в том, как предоставить службе статистики JMX этих версий пакета для jconsole, чтобы иметь возможность отображать статистику?

Все, что у меня есть:

@Bean
    public void ehCacheManager() {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory(Vedantas.PU_NAME);
        SessionFactory sf = emf.unwrap(SessionFactory.class);

        StatisticsService statsMBean = new StatisticsService();
        statsMBean.setSessionFactory(sf);
        statsMBean.setStatisticsEnabled(true);

        MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
        mBeanServer.registerMBean(statsMBean, new ObjectName("Hibernate:application=Statistics"));
    }

, это раздел Enable JMX support inside Hibernate - Using the API из документации jconsole , который на самом деле не помогает, потому что StatisticsService является абстрактным классом и не может быть создан.

Итак, предоставьте мне рабочую конфигурацию.Кроме того, запуск java -jar hibernate-jconsole-1.0.7.jar ничего не делает в моей среде.Почему это так?Спасибо!

...