这个是我的源码public class MemConnectTestTimer
/**
* 测试mem连接是否有效
*/
public static void testMemConnect()
{
if (logger.isInfoEnabled())
{
logger.info("ento the testMemConnec()");
}
//获取定时时间间隔
int time = Integer.parseInt(900000);
//初始化定时类
Timer timer = new Timer();
//定时检测,tomcat启动10s后启动
timer.schedule(new MemTask(), 10000,time);
if (logger.isInfoEnabled())
{
logger.info("exit the testMemConnec()");
}
}
}public class MemTask extends TimerTask
{
/**
* 日志信息
*/
private static UCDLog logger = LogManager.getLog(Contants.COMMON_LOG);
//获取缓存类实例
private static MyMemcached memcached = MyMemcached.getInstance();
/**
* 重载TimerTask的run方法
*/
public void run()
{
//记录入口日志
if (logger.isInfoEnabled())
{
logger.info("Begin to test memcached......");
}
//如果插入数据失败,则重新初始化缓存类
if (!memcached.addData("test", "test"))
{
memcached.reInit("test", "test");
}
//记录出口日志
if (logger.isInfoEnabled())
{
logger.info("Exit from test memcached.");
}
}
}
有时候看日志的时候会抛这样一个异常:
2011-08-26 15:58:35,035 INFO [Timer-0] [? run] Exit from test memcached.
Exception in thread "Timer-0" java.lang.NullPointerException
at com.huawei.internet.util.MemTask.run(Unknown Source)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)是不是我的类哪里写得不够好
/**
* 测试mem连接是否有效
*/
public static void testMemConnect()
{
if (logger.isInfoEnabled())
{
logger.info("ento the testMemConnec()");
}
//获取定时时间间隔
int time = Integer.parseInt(900000);
//初始化定时类
Timer timer = new Timer();
//定时检测,tomcat启动10s后启动
timer.schedule(new MemTask(), 10000,time);
if (logger.isInfoEnabled())
{
logger.info("exit the testMemConnec()");
}
}
}public class MemTask extends TimerTask
{
/**
* 日志信息
*/
private static UCDLog logger = LogManager.getLog(Contants.COMMON_LOG);
//获取缓存类实例
private static MyMemcached memcached = MyMemcached.getInstance();
/**
* 重载TimerTask的run方法
*/
public void run()
{
//记录入口日志
if (logger.isInfoEnabled())
{
logger.info("Begin to test memcached......");
}
//如果插入数据失败,则重新初始化缓存类
if (!memcached.addData("test", "test"))
{
memcached.reInit("test", "test");
}
//记录出口日志
if (logger.isInfoEnabled())
{
logger.info("Exit from test memcached.");
}
}
}
有时候看日志的时候会抛这样一个异常:
2011-08-26 15:58:35,035 INFO [Timer-0] [? run] Exit from test memcached.
Exception in thread "Timer-0" java.lang.NullPointerException
at com.huawei.internet.util.MemTask.run(Unknown Source)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)是不是我的类哪里写得不够好
看代码,估计是你的memcached是null,调用
if (!memcached.addData("test", "test"))
{
memcached.reInit("test", "test");
}
之前做个判断看看,看看memcached是不是null