Forums: Open Discussion (Thread #19482)

【バッチFW】JobExceptionHandlerの拡張について (2008-07-31 19:28 by kevin_vain #37979)

JobManagerに使用されるexceptionHandlerMapを拡張しようとしていましたが、XMLに設定したハンドラが取得できなく、うまくできませんでした。

原因を解析してみました。

1.JobManager#processCollectの208行目:発生した例外がCollectorExceptionにラップされ、ExceptionHandlerUtil.getJobExceptionHandlerに渡している
2.ExceptionHandlerUtilの56行目:isAssignableFrom(e.getClass())を利用して設定値と比較している。ここのeはすでにCollectorExceptionにラップされ、元の例外じゃなくなりましたので、XMLに設定した例外と異なって、設定したハンドラが取得できないの原因になるかと思います。

JobExceptionHandler handler
= ExceptionHandlerUtil.getJobExceptionHandler(wrappingException,
exceptionHandlerMap, defaultJobExceptionHandler);
↓↓↓
JobExceptionHandler handler
= ExceptionHandlerUtil.getJobExceptionHandler(e,
exceptionHandlerMap, defaultJobExceptionHandler);

上記のように修正して再度確認しますと、設定したハンドラが問題なく取得できるようになりましたが、他の箇所への影響が把握出来ていませんので心配です。
この修正方法は問題ないでしょうか?

以上です。

Reply to #37979×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: 【バッチFW】JobExceptionHandlerの拡張について (2008-07-31 19:37 by kuramotoki #37982)

exceptionHandlerMapを拡張した結果XMLに設定したハンドラが取得できないとのことですが、どのように拡張したかがわからないので、設定を教えていただけますか。

よろしくお願いします。
Reply to #37979

Reply to #37982×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login