У меня есть свой собственный класс, который реализует com.ibm.websphere.asynchbeans.Work
со следующим способом выполнения:Как исключить исключение из задачи StartWork в Websphere?
@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());
}
}
Эта работа класса передается StartWork метод (работа var1) в com.ibm.websphere.asynchbeans.WorkManager
.
Когда я получаю исключение в блоке try, он попадает и регистрируется, без проблем.
Но Я хочу, чтобы это исключение прошло до тех пор, пока оно не достигнет самого первого метода, который называется startWork в websphere.
Как это сделать?Runnable
не позволяет выбросить проверенное исключение. RuntimeException
не помогло. Кажется, startWork проглатывает его где-то внутри.
Плохо, что этот первый метод находится в другом модуле проекта, и я не могу дотянуться до него из блока catch, чтобы передать информацию, чтобы выполнить некоторую работу.
Я также попытался установитьStatus в своем рабочем классе, а затем получить его после, но похоже, что startWork не позволяет мне изменять переданный объект.
Любая помощь приветствуется. Спасибо!