[英]Java - spring console application global exception handler
Java-Spring-石英應用
我有帶有Spring 3.x的Java應用程序,該應用程序使用石英調度程序來處理一些數據。 我在看以下文章,他們在其中定義了全局Global Servlet容器異常處理程序
我想配置spring來捕獲應用程序中發生的任何異常。 上面提到的文章使用“ org.springframework.web.servlet.handler.HandlerExceptionResolverComposite”,這是servlet特殊實現,這就是為什么我不能使用它。
任何幫助表示贊賞。
您提到的類在Spring MVC DispatcherServlet的catch塊中用於將特定的Exception與處理程序進行匹配。 AFAIK沒有使用Vanilla Spring開箱即用地進行此操作的類,但是沒有理由不能為您的應用創建類似的執行容器:
public interface ExceptionHandler {
public void handle(Exception e);
}
public class ExecutionEnvironment {
private Map<Class, ExceptionHandler> executionHandlers;
public void run() {
try {
// Your app code...
} catch (Exception e) {
if(executionHandlers.get(e.getClass()) != null) {
executionHandlers.get(e.getClass()).handle(e);
} else {
throw new RuntimeException(e);
}
}
}
}
然后使用上下文配置來設置異常處理程序。 希望這可以幫助。
當捕獲到異常時,您沒有提及要執行的操作。 如果只想記錄異常,則可以使用AOP。
一個可能更簡單的解決方案是用捕獲異常的類包裝您的任務。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.