2014-04-07 53 views
0

我是新來這個ActiveMQ的發送電子郵件,我想發送一封電子郵件,使用ActiveMQ的數據每隔一小時。如何在activemq中配置這個調度過程?有沒有這個行動的任何教程?如何使用ActiveMQ的

回答

3

這是一個非常普通的問題,但我可以給你關於使用Spring調度的一些概述提示:

  1. 您關聯包括Spring上下文支持包,如果你不已經擁有了它。如果你使用Maven,那麼你可以找到依賴關係here

  2. 創建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 
    } 
    

    }

  3. 附上您的org.quartz.Job實現在你的應用程序上下文定義一個的JobDetailBean豆:

<bean id="sendEmailJob" class="org.springframework.scheduling.quartz.JobDetailBean"> 
    <property name="jobClass" value="ro.oneandone.hosting.ebusiness.nlt.sending.quartz.SendRegularMessagesJob" /> 
</bean> 
  1. 前一個的JobDetailBean創建CronTrigger豆:
<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> 
  1. 要完成,您註冊的工作給SchedulerFactoryBean來:
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 
    <property name="triggers"> 
    <list> 
     <ref bean="sendEmailCronTrigger"/> 
    </list> 
    </property> 
</bean> 

我再說一遍,這只是一個輪廓。你必須根據你的需求調整代碼,我希望我能正確理解,因爲你用「Spring」標記了這個問題。

如果您需要以下鏈接瞭解更多信息關於石英調度:

+0

對於我的生活,我不能明白爲什麼StackOverflow的編輯贏得」讓我繼續這些步驟的索引。 –