大家好,我正在使用RuleStudio (修改过的JRules )在IBM Websphere ILOGEclipse7.0中工作,在尝试实现TimerTask时遇到了一个问题。
我根据我知道有效的不同规则创建了一个Techincal规则,并尝试添加一些代码,这些代码将等待5秒,然后发送一条辅助消息。我通过下面的代码尝试了一下:
int interval = 5000; // 5 sec
java.util.Date timeToRun = new java.util.Date(System.currentTimeMillis() + interval);
java.util.Timer timer = new java.util.Timer();
timer.schedule(new java.util.TimerTask() {
public void run() {
// Message Sent Here
}
}, timeToRun); 但是,此代码无法编译。它指出的错误位于new java.util.TimerTask()后面的左括号中,错误消息是at token "{"。
不过,还有一些有趣的观察:
-I尝试执行java.util.TimerTask test = new java.util.TimerTask();,但它在new java.util.TimerTask();抛出了一个错误,Could not find a public constructor (or argument mismatch) for java.util.TimerTask.,我觉得这很奇怪,因为它确实是导入的。
-I在我的comp上安装了Java version 1.6.0_17,如果有关系的话。
谢谢!
发布于 2011-07-02 02:43:56
注意到这仍然是打开的,原来我们使用的引擎上有一个自定义的java库,其中不包括TimerTask……多伊尔。附带了一个线程休眠命令,这是库实际拥有的。
发布于 2011-04-19 04:50:57
我没有使用ILOG的经验,但我猜这样可能会更好:
java.util.Timer timer = new java.util.Timer();
class MyTask extends java.util.TimerTask {
public void run() {
// Message Sent Here
}
}
timer.schedule(new MyTask(), timeToRun);如果这仍然不起作用,那么将MyTask从该方法中删除。
https://stackoverflow.com/questions/5707861
复制相似问题