一.在jboss启动时加载class方法
A. 编写class,要import org.jboss.varia.scheduler.Schedulable包,此包在%JBOSS_DISC%\server\all\lib目录下,同时要把编译好的class(压成包)放在%JBOSS_DISC%\server\all\lib目录下,以便能加载。
B.修改%JBOSS_DISC%/server/all/conf/jboss-service.xml文件
添加以下相似文字:
<!--============================================================ -->
<!-- Scheduler Initialization 定时操作 -->
<!--============================================================ -->
<mbean code="org.jboss.varia.scheduler.Scheduler"
name="jboss. piosan.util:service=Scheduler">
<attribute name="StartAtStartup">true</attribute>
<attribute name="SchedulableClass">com.piosan.util.PiosanTimer</attribute>
<attribute name="SchedulableArguments">TheName,123456789</attribute>
<attribute name="SchedulableArgumentTypes">java.lang.String,long</attribute>
<attribute name="InitialStartDate">NOW</attribute>
<attribute name="SchedulePeriod">1000</attribute>
<attribute name="InitialRepetitions">-1</attribute>
</mbean>
<!—name为任意但唯一,com.piosan.util.PiosanTimer为class名 -->
<!—SchedulableArguments的值为传递参数,这里为两个参数,theName为String型,123456789为long型,在SchedulableArgumentTypes中体现了 -->
<!—SchedulePeriod 的值为每隔1秒操作一次 -->
C. 附上PiosanTimer.java源代码例子
/*
* Created on 2003-11-6
*
* To change the template for this generated file go to
* Window - Preferences - Java - Code Generation - Code and Comments
*/
package com.util;
import java.util.Date;
import org.jboss.varia.scheduler.*;
public class PiosanTimer implements Schedulable {
private String name;
private long value;
public PiosanTimer(String name,long value)
{
this.name = name;
this.value = value;
System.out.println("name="+name+" value="+value);
}
/**
会自动执行此函数,
*/
public void perform(Date now,long remainingRepetitions)
{
System.out.println("perform,now:"+now+
",remainingRepetitions: "+remainingRepetitions+
",name: "+name+ ",value: "+value);
}
}