2011-04-18 5 views
0

안녕하세요, 저는 IBM Websphere ILOG JRules 7.0에서 RuleStudio (수정 된 Eclipse)를 사용하며 TimerTask를 구현하는 데 문제가 있습니다.TimerTask와 관련된 문제

나는 알고있는 다른 규칙을 기반으로 Techincal Rule을 만들었고 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(); 일을 시도하고 나는 그것이 defintaly 수입 이후 홀수 찾을 Could not find a public constructor (or argument mismatch) for java.util.TimerTask. 말을 new java.util.TimerTask();에서 오류가 발생합니다.

-I 중요한 Java 버전 1.6.0_17이 내 컴퓨터에 설치되어 있습니다.

감사합니다.

+0

이상한. 어떤 코드가 도움이된다면이 코드 승/문제를 컴파일했습니다. 'javac '에 대한 수동 호출을 통해 콘솔에서 같은 코드를 컴파일 할 수 있습니까? –

+0

Techinal Rule 파일이 .trl이기 때문에 나에게 알려줄 지 확신 할 수는 없지만 한번 시도해 보도록하겠습니다. – Hershizer33

+0

나는 일반적인 Oracle JDK에서 조각을 컴파일하고, 멋진 .trl 파일을 컴파일하지 않았다. : –

답변

0

아직 공개되지 않았지만, 우리가 사용하고 있던 엔진에는 TimerTask ... doh가 포함되어있는 자바 라이브러리가 사용자 정의되어 있다는 사실이 알려졌습니다. 라이브러리에 실제로 있던 스레드 수면 명령으로 갔다.

0

나는 ILOG와 경험이 없지만, 나는이 아마 더 잘 작동 것 같은데요 : 그것은 여전히 ​​작동하지 않으면, 방법에서 MyTask

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); 

.

+0

작동하지 않았습니다. TimerTask 이후의 열린 대괄호에있는 'at token'{{ "오류. TimerTask가 직접 가져 왔을 때도 마찬가지입니다. – Hershizer33