vic*_*era 18
以下是部署描述符中的调度示例:
<session>
<ejb-name>MessageService</ejb-name>
<local-bean/>
<ejb-class>ejb.MessageService</ejb-class>
<session-type>Stateless</session-type>
<timer>
<schedule>
<second>0/18</second>
<minute>*</minute>
<hour>*</hour>
</schedule>
<timeout-method>
<method-name>showMessage</method-name>
</timeout-method>
</timer>
</session>
Run Code Online (Sandbox Code Playgroud)
配置定时器的另一种方法是使用编程调度.
@Singleton
@Startup
public class TimedBean{
@Resource
private TimerService service;
@PostConstruct
public void init(){
ScheduleExpression exp=new ScheduleExpression();
exp.hour("*")
.minute("*")
.second("*/10");
service.createCalendarTimer(exp);
}
@Timeout
public void timeOut(){
System.out.println(new Date());
System.out.println("time out");
}
}
Run Code Online (Sandbox Code Playgroud)
根据EJB 3.1规范,可以通过注释或ejb-jar.xml
部署描述符配置自动计时器.
18.2.2自动定时器创建
Timer Service支持基于bean类或部署描述符中的元数据自动创建计时器 .这允许bean开发人员在不依赖bean调用的情况下调度计时器,以编程方式调用其中一个Timer Service计时器创建方法.由于应用程序部署,容器会创建自动创建的计时器.
我对部署描述符XLM模式的理解是你使用<timer>
元素内的<session>
元素来定义它.
<xsd:element name="timer"
type="javaee:timerType"
minOccurs="0"
maxOccurs="unbounded"/>
Run Code Online (Sandbox Code Playgroud)
有关timerType
详细信息,请参阅复杂类型的定义(特别是schedule
和timeout-method
元素).
归档时间: |
|
查看次数: |
11125 次 |
最近记录: |