1 package com.dotmarketing.threads; 2 3 import java.util.Calendar ; 4 import java.util.GregorianCalendar ; 5 6 import com.dotmarketing.db.DotHibernate; 7 import com.dotmarketing.factories.EmailFactory; 8 import com.dotmarketing.portlets.campaigns.factories.CampaignFactory; 9 import com.dotmarketing.util.Logger; 10 11 12 public class CronThread extends Thread { 13 private int emailCampaign = 1; 15 public CronThread(String name) { 16 super(name); 17 } 18 19 public void run() { 20 Logger.info(this, "Starting annoying CronThread running every minute"); 21 22 GregorianCalendar greg = null; 23 24 28 CampaignFactory.unlockAllCampaigns(); 29 30 while (true) { 32 greg = new GregorianCalendar (); 33 34 try { 35 try { 36 if ((greg.get(Calendar.MINUTE) % emailCampaign) == 0) { 37 EmailFactory.deliverCampaigns(); 38 } 39 } catch (Exception e) { 40 Logger.error(this, "CronThread: Error occurred delivering campaigns.", e); 41 } 42 } finally { 43 DotHibernate.closeSession(); 44 } 45 Logger.debug(this, "CronThread.Minute: " + greg.get(Calendar.MINUTE)); 46 47 try { 48 Thread.sleep(1000 * 60); } catch (Exception e) { 50 break; 51 } 52 } 53 } 54 55 56 59 public void destroy() { 60 DotHibernate.closeSession(); 61 } 62 } 63 | Popular Tags |