重构为hibernate状态后,似乎是一个错误。有关详细信息,请参见https://hibernate.atlassian.net/browse/HHH-6190
这是我使用的一种变通方法,利用Java动态代理来代表来自hibernate状态的统计信息接口以及默认的平台mbean服务器:
@MXBeanpublic interface StatisticsMXBean extends Statistics {}public void initStatistics(SessionFactory sessionFactory) { ObjectName statsName = new ObjectName("org.hibernate:type=statistics"); MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer(); final Statistics statistics = sessionFactory.getStatistics(); statistics.setStatisticsEnabled(true); Object statisticsMBean = Proxy.newProxyInstance(getClass().getClassLoader(), new Class<?>[] { StatisticsMXBean.class }, new InvocationHandler() { @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { return method.invoke(statistics, args); } }); mbeanServer.registerMBean(statisticsMBean, statsName);}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)