以tomcat为例,加入一个listner监听容器启动:
<listener>
<description>ServletContextListener</description>
<listener-class>com.my.listener.StartupListener</listener-class>
</listener>
Listener中的内容:
@Override
public void contextInitialized(ServletContextEvent sce) {
SessionFactory sf = HibernateUtil.getSessionFactory();
MBeanServer ms = ManagementFactory.getPlatformMBeanServer();
Hashtable tb = new Hashtable();
tb.put("type", "statistics");
tb.put("sessionFactory", "myHibernateApp");
try {
ObjectName on = new ObjectName("hibernate",tb);
StatisticsService mBean = new StatisticsService();
mBean.setSessionFactory(sf);
mBean.setStatisticsEnabled(true);
ms.registerMBean(mBean, on);
} catch (Exception ex) {
Logger.getLogger(StartupListener.class.getName()).log(Level.SEVERE, null, ex);
}
}
tomcat启动需要添加一行jvm参数:-Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
用来启动tomcat的jmx服务管理。
启动后通过jconsole访问tomcat的jmx监听端口。
本文介绍如何在Tomcat中配置监听器以实现容器启动时初始化SessionFactory,并注册MBean到JMX服务,同时还提供了启动JMX服务所需的JVM参数。
770

被折叠的 条评论
为什么被折叠?



