异步电子邮件发送:Spring框架

异步电子邮件发送:Spring框架,spring,email,asynchronous,Spring,Email,Asynchronous,我们需要能够使用Spring框架异步发送电子邮件。 我们如何在电子邮件发送尝试中使用适当的异常处理和重试机制来实现这一点?也许Spring的支持将帮助您。没错,Spring Async是启动电子邮件发送业务方法的好选择 然而,电路制动器不适合你 您真的需要从 可能是这样的: <bean id="mailer" class="com.my.proj.email.EmailSender" /> <bean id="retryAdvice" class="org.springfra

我们需要能够使用Spring框架异步发送电子邮件。
我们如何在电子邮件发送尝试中使用适当的异常处理和重试机制来实现这一点?

也许Spring的支持将帮助您。

没错,Spring Async是启动电子邮件发送业务方法的好选择

然而,电路制动器不适合你

您真的需要从

可能是这样的:

<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>

使用此配置,您的
sendmail
将在提供的
TaskExecutor
中通过
asyncAdvice
异步调用

retryAdvice
负责重试尝试、恢复和其他重试功能