出错代码:
1.
timer =
new
Timer();
2.
timer.schedule(
new
MQConnectionTimerTask(),
new
Date(),
0
);
|
错误信息:
1.
严重: Exception sending context initialized event to listener instance of
class
com.queuemanagerlistener.listener.MQConnectionStatusListener
2.
java.lang.IllegalArgumentException: Non-positive period.
3.
at java.util.Timer.schedule(Timer.java:
221
)
4.
at ngbss.iac.queuemanagerlistener.listener.MQConnectionStatusListener.contextInitialized(MQConnectionStatusListener.java:
72
)
5.
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:
4135
)
6.
at org.apache.catalina.core.StandardContext.start(StandardContext.java:
4630
)
7.
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:
1045
)
8.
at org.apache.catalina.core.StandardHost.start(StandardHost.java:
785
)
9.
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:
1045
)
10.
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
11.
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39
)
12.
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25
)
|
原因:
在项目中用到了TimerTask时间调度器,如果调度间隔时间为0的时候,则会发生错误:
java.lang.IllegalArgumentException: Non-positive period.
,必须要设置大于0 的数。
1.
timer =
new
Timer();
2.
timer.schedule(
new
MQConnectionTimerTask(),
new
Date(),
1
*
60
*
1000
);
|