我们需要能够使用Spring框架异步发送电子邮件。如何在邮件发送尝试中使用适当的异常处理和重试机制来实现?
发布于 2014-04-21 11:53:21
对,Spring异步是创建电子邮件发送业务方法的好选择。
然而,电路刹车不适合你。
你真的需要为你的目的从RetryOperationsInterceptor从弹簧重试
看起来可能是这样的:
<bean id="mailer" class="com.my.proj.email.EmailSender" />
<bean id="retryAdvice" class="org.springframework.retry.interceptor.RetryOperationsInterceptor"/>
<bean id="asyncAdvice" class="org.springframework.aop.interceptor.AsyncExecutionInterceptor"/>
<aop:config>
<aop:pointcut id="email" expression="execution(* com.my.proj.email.EmailSender.sendEmail(..))" />
<aop:advisor pointcut-ref="email" advice-ref="asyncAdvice"/>
<aop:advisor pointcut-ref="email" advice-ref="retryAdvice"/>
</aop:config>使用此配置,sendEmail将在提供的TaskExecutor中通过asyncAdvice异步调用。
retryAdvice关注重试尝试、恢复和其他重试功能。
发布于 2014-04-21 10:00:33
也许回路制动器型式和Spring的异步支持将对您有所帮助。
https://stackoverflow.com/questions/23194594
复制相似问题