java - Why isn't Spring chaining ExceptionHandlers? -
i have several spring @exceptionhandlers
follows:
@exceptionhandler(mailerexception.class) @responsestatus(value = httpstatus.internal_server_error) public string mailerexception(mailerexception e, httpservletrequest request, locale locale) { flashmap outputflashmap = requestcontextutils.getoutputflashmap(request); if (outputflashmap != null) { outputflashmap.put("flashmessage", messagesource.getmessage("controller.internal_server_error", null, locale)); } homecoming "redirect:/index"; } @exceptionhandler(executionexception.class) public string executionexception(executionexception e) throws throwable { throw e.getcause(); }
when executionexception
thrown mailerexception
cause, executionexception
handler invoked not mailerexception
one...
i not sure why... can please explain?
here stacktrace:
grave: servlet.service() servlet [bignibou] in context path [/bignibou] threw exception [request processing failed; nested exception java.util.concurrent.executionexception: com.bignibou.mailerexception: messagingexception | mailsendexception] root cause com.bignibou.mailerexception: messagingexception | mailsendexception @ com.bignibou.service.preference.preferenceserviceimpl.sendpasswordresetinfo_aroundbody10(preferenceserviceimpl.java:122) @ com.bignibou.service.preference.preferenceserviceimpl$ajcclosure11.run(preferenceserviceimpl.java:1) @ org.springframework.transaction.aspectj.abstracttransactionaspect.ajc$around$org_springframework_transaction_aspectj_abstracttransactionaspect$1$2a73e96cproceed(abstracttransactionaspect.aj:59) @ org.springframework.transaction.aspectj.abstracttransactionaspect$abstracttransactionaspect$1.proceedwithinvocation(abstracttransactionaspect.aj:65) @ org.springframework.transaction.interceptor.transactionaspectsupport.invokewithintransaction(transactionaspectsupport.java:262) @ org.springframework.transaction.aspectj.abstracttransactionaspect.ajc$around$org_springframework_transaction_aspectj_abstracttransactionaspect$1$2a73e96c(abstracttransactionaspect.aj:63) @ com.bignibou.service.preference.preferenceserviceimpl.sendpasswordresetinfo_aroundbody12(preferenceserviceimpl.java:111) @ com.bignibou.service.preference.preferenceserviceimpl$ajcclosure13.run(preferenceserviceimpl.java:1) @ org.springframework.scheduling.aspectj.abstractasyncexecutionaspect.ajc$around$org_springframework_scheduling_aspectj_abstractasyncexecutionaspect$1$6c004c3eproceed(abstractasyncexecutionaspect.aj:58) @ org.springframework.scheduling.aspectj.abstractasyncexecutionaspect.ajc$around$org_springframework_scheduling_aspectj_abstractasyncexecutionaspect$1$6c004c3e(abstractasyncexecutionaspect.aj:62) @ com.bignibou.service.preference.preferenceserviceimpl.sendpasswordresetinfo(preferenceserviceimpl.java:111) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) @ java.lang.reflect.method.invoke(method.java:483) @ org.springframework.aop.support.aoputils.invokejoinpointusingreflection(aoputils.java:317) @ org.springframework.aop.framework.reflectivemethodinvocation.invokejoinpoint(reflectivemethodinvocation.java:190) @ org.springframework.aop.framework.reflectivemethodinvocation.proceed(reflectivemethodinvocation.java:157) @ org.springframework.aop.interceptor.asyncexecutioninterceptor$1.call(asyncexecutioninterceptor.java:128) @ java.util.concurrent.futuretask.run(futuretask.java:266) @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1142) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:617) @ java.lang.thread.run(thread.java:745)
here gets displayed in browser:
etat http 500 - request processing failed; nested exception java.util.concurrent.executionexception: com.bignibou.mailerexception: messagingexception | mailsendexception
java spring exception exception-handling
No comments:
Post a Comment