【发布时间】:2011-04-18 19:30:32
【问题描述】:
大家好,我正在使用 RuleStudio(修改后的 Eclipse)在 IBM Websphere ILOG JRules 7.0 中工作,但在尝试实现 TimerTask 时遇到了问题。
我根据我知道有效的不同规则创建了一个技术规则,并尝试添加一些等待 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 "{"。
一些有趣的观察结果:
-我尝试做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.,我觉得这很奇怪,因为它肯定是进口的。
-如果重要的话,我的计算机上安装了 Java 版本 1.6.0_17。
谢谢!
【问题讨论】:
-
奇怪。如果对您有任何帮助,我已经编译了此代码而没有问题。您可以尝试通过手动调用
javac从控制台编译相同的代码吗? -
不知道它是否会让我,因为技术规则文件是 .trl,但我会试一试。
-
我的意思是我在普通的 Oracle JDK 上编译了 sn-p,没有花哨的 .trl 东西 :)
-
@Victor 是的,它看起来与特定于 ILOG Jrules 的东西有关,该代码在普通 Java 环境中运行良好
标签: java websphere ilog jrules