私は、次のrunメソッドでcom.ibm.websphere.asynchbeans.Work
を実装して自分のクラスを持っている:WebsphereのstartWorkタスクからさらに例外を渡すには?
@Override
public void run() {
try {
agentManager.loadLibContent(agent);
} catch (Exception e) {
ErrorAnalizer.report(e);
log.error("some err: "+e.getMessage());
//this.setStatus("error");
//throw new RuntimeException(e);
} finally {
workLoadManager.delRunTask(getTaskHistory());
}
}
この作業クラスはcom.ibm.websphere.asynchbeans.WorkManager
ののstartWork(作業VAR1)メソッドに渡されます。
tryブロックで例外が発生すると、キャッチされてログに記録されますが、問題はありません。
しかし、 websphereのstartWorkを呼び出した最初のメソッドに到達するまで、その例外が上になるようにします。
どうすればよいですか?Runnable
は、チェック例外をスローさせません。 RuntimeException
は役に立ちませんでした。それはstartWorkがどこかでそれを呑み込むようです。
この最初のメソッドが別のプロジェクトモジュールにあり、catchブロックから情報を渡して何らかの仕事をすることができないということは間違っています。
私はまた、自分のワーククラスでsetStatusを試してみましたが、後でそれを取得しますが、startWorkのように見えますが、渡されたオブジェクトを変更することはできません。
何か助けていただければ幸いです。ありがとうございました!あなたがWorkItem.getResultメソッドを使用する必要があります