您的位置:首页 > 其它

EJB定时器

2016-01-17 17:47 393 查看
package remote;

import javax.ejb.Remote;
import javax.ejb.Timer;

@Remote
public interface TimerEJB {

void setTime(java.util.Date init,long interval);

void check(Timer timer);

}
package stateless;

import java.util.Date;

import javax.annotation.Resource;
import javax.ejb.SessionContext;
import javax.ejb.Stateless;
import javax.ejb.Timeout;
import javax.ejb.Timer;
import javax.ejb.TimerService;

import remote.TimerEJB;

@Stateless(mappedName="timerEJBBean")
public class TimerEJBBean implements TimerEJB{

@Resource
private TimerService timerService;

@Resource
private SessionContext context;

@Override
public void setTime(Date init, long interval) {

System.out.println(timerService);

timerService.createTimer(init, interval,"新的定时器");
//this.context.getTimerService().createTimer(init, interval,"新的定时器");

}

@Timeout
@Override
public void check(Timer timer) {

System.out.println("定时器消息:"+timer.getInfo());

System.out.println("模拟系统检查");
timer.cancel();
}

}
package ejb.client.test;

import java.util.Date;
import java.util.Properties;

import javax.naming.Context;
import javax.naming.InitialContext;

import remote.TimerEJB;
import stateless.TimerEJBBean;

public class TimerejbClient {

public static void main(String[] args) {

try{

Properties props = new Properties();

props.setProperty(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");

InitialContext ctx = new InitialContext(props);

TimerEJB timerejb = (TimerEJB) ctx.lookup("ejb:"
+ "/timerejb/TimerEJBBean!remote.TimerEJB");

//timerejb.setTime(new Date()	, 1000);
timerejb.setTime(new Date(), 10000);

ctx.close();

}
catch(Exception e){

e.printStackTrace();

}

}

}








内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: