私はいくつかの古いコードを更新しているところですが、以下のWatchdog/TimeoutObserver機能を複製するための最適な方法がわかりません。ただし、これは古い方法であり、jre7に準拠するように更新しようとしています。アドバイスや助けをいただければ幸いです。
import org.pache.tools.ant.util.Watchdog;
import org.pache.tools.ant.util.TimeoutObserver;
public class executer implemnts TimeoutObserver {
public String execute() throws Exception {
Watchdog watchDog = null;
try {
//instantiate a new watch dog to kill the process
//if exceeds beyond the time
watchDog = new Watchdog(getTimeout());
watchDog.addTimeoutObserver(this);
watchDog.start();
... Code to do the execution .....
} finally {
if (aWatchDog != null) {
aWatchDog.stop();
}
}
public void timeoutOccured(Watchdog arg0) {
killedByTimeout = true;
if (process != null){
process.destroy();
}
arg0.stop();
}
}