TodoStatusTimerBean.java


Dosyayı İndir
package com.todo.ejb;

import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import javax.ejb.Timeout;
import javax.ejb.Timer;
import javax.ejb.TimerService;
import javax.mail.MessagingException;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import com.todo.entity.Todo;

@Stateless
public class TodoStatusTimerBean implements TodoStatusTimerBeanLocal {

	@PersistenceContext(unitName = "TodoJPA")
	private EntityManager entityManager;
	
	@Resource
	TimerService timerService;

	@EJB
	private MailSenderSessionBeanLocal mailSenderBean;

	public void startTimer(Date startDate, Long interval) {
		timerService.createTimer(startDate, interval, "Mail Todo Status");
	}

	@Timeout
	public void sendMailTodoStatus(Timer timer) {
		
		
		if (timer.getInfo() instanceof String) {

			if (((String) timer.getInfo()).equals("Mail Todo Status")) {

				System.out.println("Todo statüleri gönderiliyor : " + new Date());

				Query query=entityManager.createQuery("SELECT t FROM Todo as t WHERE t.isactive=?1 and t.date > ?2");
				
				query.setParameter(1, true);
				query.setParameter(2, new Date());
						
				List<Todo> list=(List<Todo>)query.getResultList();
						
				System.out.println("list size : " + list.size());

				if (list.size() <= 0) {
					return;
				}

				String subject = "Aktif ve zamani gecmis todo'lar";
				String body = "";
				for (Todo todo : list) {
					body += "id:" + todo.getId() + " baslik:" + todo.getTitle() + "<br/>";
				}

				System.out.println("body :" + body);

				try {
					mailSenderBean.sendMail("admin@godoro.com", "membership@godoro.com", subject, body);
				} catch (MessagingException e) {
					e.printStackTrace();
				}

			}
		}
	}

}

				
Dosyayı İndir

Bu Sayfayı Paylaş:




Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir