我是这个activemq的新手,我想使用activemq数据每小时发送一封电子邮件。如何在activemq中配置此调度过程?这个动作有没有教程?
答案 0 :(得分:3)
这是一个非常通用的问题,但我可以给你一些关于使用Spring的日程安排的提示:
如果您还没有Spring Context Support软件包,请在您的依赖项中包含它。如果您正在使用Maven,那么您可以找到依赖关系here。
创建一个实际发送邮件的org.quartz.Job实现。我会使用Spring提供的QuartzJobBean。 注意:实际上有一个org.quartz.jobs.ee.mail.SendMailJob类可以进行邮件发送。 在这两种情况下,您都可以从ActiveMQ实例中检索数据并为邮件生成所需的内容。
public class SendMailFromActiveMQ extends QuartzJobBean {
@Override
protected void doExecuteInternal(ApplicationContext applicationContext, JobExecutionContext jobExecutionContext) {
//generate content for email
//send email
}
}
将org.quartz.Job实现附加到应用程序上下文定义中的JobDetailBean bean:
<bean id="sendEmailJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="ro.oneandone.hosting.ebusiness.nlt.sending.quartz.SendRegularMessagesJob" />
</bean>
<bean id="sendEmailCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="sendEmailJob" />
<property name="cronExpression" value="0 0 0/1 * * ?" />
<!-- Run every hour -->
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="sendEmailCronTrigger"/>
</list>
</property>
</bean>
我再说一遍,这只是一个大纲。你必须根据你的需要调整代码,我希望我能正确理解,因为你用&#34; Spring&#34;标记了这个问题。
如果您需要以下链接,请参阅有关Quartz调度的更多信息: