package org.sonny.mc;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.ObjectMessage;
import javax.jms.TextMessage;
import javax.annotation.EJB;
import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import org.jboss.logging.Logger;
import cn.bizos.mc.entity.Schedule;
@MessageDriven(activationConfig =
{
@ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Topic"),
@ActivationConfigProperty(propertyName="destination", propertyValue="topic/Schedule"),
})
public class ScheduleMDBean implements MessageListener {
Logger log = Logger.getLogger("cn.bizos.messages.ScheduleMDBean");
@EJB
private MessageDAO mdao;
@EJB
private ScheduleDAO sdao;
public void onMessage(Message message) {
// TODO Auto-generated method stub
try {
if(message instanceof ObjectMessage) {
Object obj = ((ObjectMessage) message).getObject();
Schedule schedule = (Schedule) obj;
cn.bizos.mc.entity.Message mgs = new cn.bizos.mc.entity.Message();
String content = "你在 " + schedule.getScheduletime() + " 的時(shí)候,有 " + schedule.getSchedulecontent() + " 事情要做";
mgs.setContent(content);
mgs.setOwnerId(schedule.getOwnerId());
mgs.setState(0);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String nowdate = df.format(new Date());
mgs.setMessageTime(nowdate);
SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd");
String notime = df1.format(new Date());
int stype = schedule.getRemindtype();
if(0 == stype) {
mgs.setValidtime(schedule.getScheduletime());
log.info("message valid time: " + schedule.getScheduletime());
}else if(1 == stype) {
String schedulet = schedule.getScheduletime().split(" ")[1];
mgs.setValidtime(notime + " " + schedulet);
}else if(2 == stype) {
String schedulet = schedule.getScheduletime().split(" ")[1];
mgs.setValidtime(notime + " " + schedulet);
log.info("message valid time: " + notime + " " + schedulet);
}else if(3 == stype) {
String schedulet = schedule.getScheduletime().split(" ")[1];
mgs.setValidtime(notime + " " + schedulet);
}
mdao.add(mgs);
if(schedule.getRemindtype() == 0) {
schedule.setExpired(true);
sdao.update(schedule);
}else{
schedule.setCurrentSendTime(notime);
sdao.update(schedule);
}
}
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。