Class ExceptionToMailResolver
java.lang.Object
org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver
org.springframework.web.servlet.handler.SimpleMappingExceptionResolver
com.foreach.across.modules.logging.exception.ExceptionToMailResolver
- All Implemented Interfaces:
 org.springframework.core.Ordered,org.springframework.web.servlet.HandlerExceptionResolver
public class ExceptionToMailResolver
extends org.springframework.web.servlet.handler.SimpleMappingExceptionResolver
ExceptionToMailResolver sends a mail for every java exception
 that is not caught at the controller level.
 
 To use this resolver, declare a bean for this class in your spring configuration file.
 
 Example spring configuration:
 
 
  <bean class="com.foreach.web.logging.ExceptionToMailResolver">
      <property name="fromAddress" value="${errormail.from}"/>
      <property name="toAddress" value="${erromail.to}"/>
      <property name="order" value="1"/>
      <property name="exceptionMappings">
          <props>
              <prop key="java.lang.Throwable">error</prop>
          </props>
      </property>
      <property name="mailService" ref="mailService"/>
      <property name="applicationContextInfo" ref="applicationContext"/>
  </bean>
 
 
 When you create an instance, following properties are mandatory:
- fromAddress:
 you may want to have a different sender for each application and environment combination to facilitate filtering,
 so
smurfvillage-staging-errors@foo.bar might be a better idea than noreply@foo.bar. - toAddress: usually the operators or developers.
 - order: see AbstractHandlerExceptionResolver
 - exceptionMappings: all the exceptions caught by this exception resolver. see AbstractHandlerExceptionResolver
 - mailService: the name of a MailService bean
 - applicationContextInfo: the name of the ApplicationContextInfo bean
 
- 
Field Summary
Fields inherited from class org.springframework.web.servlet.handler.SimpleMappingExceptionResolver
DEFAULT_EXCEPTION_ATTRIBUTEFields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionfinal org.springframework.web.servlet.ModelAndViewdoResolveException(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Object handler, Exception ex) protected final org.slf4j.LoggerGet the loggerfinal voidsetApplicationContext(com.foreach.common.spring.context.ApplicationContextInfo context) set the ApplicationContextInfo object holding the properties of current running applicationfinal voidsetFromAddress(String fromAddress) Specify from email addressprotected final voidsetLogger(org.slf4j.Logger logger) Specify your own custom loggerfinal voidsetMailService(com.foreach.common.spring.mail.MailService mailService) set the mail service, which actually sends the exception mailfinal voidsetToAddress(String toAddress) Specify to email addressMethods inherited from class org.springframework.web.servlet.handler.SimpleMappingExceptionResolver
addStatusCode, applyStatusCodeIfPossible, determineStatusCode, determineViewName, findMatchingViewName, getDepth, getModelAndView, getModelAndView, getStatusCodesAsMap, setDefaultErrorView, setDefaultStatusCode, setExceptionAttribute, setExceptionMappings, setExcludedExceptions, setStatusCodesMethods inherited from class org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver
addMappedHandlerClass, buildLogMessage, getMappedHandlerClasses, getOrder, hasHandlerMappings, logException, prepareResponse, preventCaching, resolveException, setMappedHandlerClasses, setMappedHandlerPredicate, setMappedHandlers, setOrder, setPreventResponseCaching, setWarnLogCategory, shouldApplyTo 
- 
Constructor Details
- 
ExceptionToMailResolver
public ExceptionToMailResolver() 
 - 
 - 
Method Details
- 
setLogger
protected final void setLogger(org.slf4j.Logger logger) Specify your own custom logger- Parameters:
 logger-
 - 
getLogger
protected final org.slf4j.Logger getLogger()Get the logger- Returns:
 - Logger
 
 - 
setFromAddress
Specify from email address- Parameters:
 fromAddress-
 - 
setToAddress
Specify to email address- Parameters:
 toAddress-
 - 
setMailService
public final void setMailService(com.foreach.common.spring.mail.MailService mailService) set the mail service, which actually sends the exception mail- Parameters:
 mailService-
 - 
setApplicationContext
public final void setApplicationContext(com.foreach.common.spring.context.ApplicationContextInfo context) set the ApplicationContextInfo object holding the properties of current running application- Parameters:
 context-
 - 
doResolveException
public final org.springframework.web.servlet.ModelAndView doResolveException(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Object handler, Exception ex) - Overrides:
 doResolveExceptionin classorg.springframework.web.servlet.handler.SimpleMappingExceptionResolver
 
 -