我在EJB容器内创建一个定时器
 public void scheduleTimer(long milliseconds) 
   {
   /*
    * 调用ctx.getTimerService().createTimer(Date arg0, long arg1,
    * Serializable arg2)方法创建定时器,三个参数的含义如下:Date arg0 
    * 定时器启动时间,如果传入时间小于现在时间,定时器会立刻启动。long arg1
    * 间隔多长时间后再次触发定时事件。单位:毫秒Serializable arg2 你需要
    * 传给定时器的参数,该参数必须实现Serializable接口。
    */
   ctx.getTimerService().createTimer(new Date(new Date().getTime() + milliseconds),milliseconds, "");
    
   }
   @Timeout
   /**
    * 定时器方法
    * <p>定时器方法的声明很简单,只需在方法上面加入@Timeout 注释,另外定时器方法
    * 必须遵守如下格式:void XXX(Timer timer)在定时事件发生时,此方法将被执行.</p>
    * @param timer
    * @return Void
    */
   public void timeoutHandler(Timer timer) 
{
 
}
定时器回调timeoutHandler方法,假设定时器每隔5分钟去执行一次,去执行回调方法,假设定时器每隔5分钟去设备上面采集数据,但是第一次没有采集来,于是我设置一个时间间隔比如说5秒钟,再去设备上面采一次数据。连续采集三次,如果还是没有采集来数据,定时器销毁。
就类似于线程,我让线程sleep()一下,然后再去执行,但是我不知道在EJB容器中应该怎么实现我这里的功能。
请大侠帮忙!!!!