您需要创建一个调度类。org.jboss.varia.scheduler.Scheduler
由于您想按月执行并且不能将其声明为属性。您需要有另一个类来处理设置下一个间隔。 Java 月度计时器
让调度程序类调用每月计时器以获取下一个间隔并设置它。也许在初始开始时传递一些值。
<mbean code="org.jboss.varia.scheduler.Scheduler"
name="jboss.docs:service=Scheduler">
<attribute name="StartAtStartup">true</attribute>
<attribute name="SchedulableClass">org.jboss.book.misc.ex2.ExSchedulable</attribute>
<attribute name="SchedulableArguments">01:00</attribute> <!-- 24hr time hh:mm -->
<attribute name="SchedulableArgumentTypes">java.lang.String</attribute>
</mbean>
ExSchedulable(这只是伪代码)
public ExSchedulable(String time) {
Date tDate = new Date();
tDate.setTime(time);
Monthly monthyObj = Monthly(1); //Day of the month
//Gets the next interval date specified from the day of the month
Date nextInterval = monthyObj .getNextInterval(tDate);
}