MBaen+Timer=减少数据库调用
生活随笔
收集整理的這篇文章主要介紹了
MBaen+Timer=减少数据库调用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
版權聲明:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/inforstack/article/details/54250510
定義所需接口
public interface HomeDataMBean {public void getDataCount();}實現接口
public class HomeData implements HomeDataMBean {private static ConcurrentHashMap<String, Integer> dataMap = new ConcurrentHashMap<String, Integer>();public static ConcurrentHashMap<String, Integer> getDataMap() {return dataMap;}@Overridepublic void getDataCount() {Timer timer = new Timer();timer.schedule(new TimerTask() {@Overridepublic void run() {//每隔4小時更新Map中的數據}}, 1000, 14400000);} }初始化
try {HomeData homeData = new HomeData();MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();ObjectName name = new ObjectName("com.inforstack.clinicalsense.jmx:type=HomeData");mbs.registerMBean(homeData, name);// ObjectName, 調用getDataCount,,調用方法所需參數,參數類型//我寫的是無參方法所以傳遞兩個nullmbs.invoke(name, "getDataCount", null, null); } catch (Exception e) {e.printStackTrace(); }終端命令
jconsole總結
以上是生活随笔為你收集整理的MBaen+Timer=减少数据库调用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ftp.listfiles()卡住,不报
- 下一篇: 最简单的一个java驱动jdbc链接my