在jboss启动时加载class方法(定时操作)

    技术2022-05-11  48

    在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秒操作一次 --> <!—InitialRepetitions 的值为一共执行多少次,如果为-1,则不停的循环执行—>   C 附上PiosanTimer.java源代码例子 package com.piosan.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);            }         /** *JBoss 启动时会自动执行此函数,所以可以在此函数中可以执行一些初始化的方法, * 例如Load Cache        */   public void perform(Date now,long remainingRepetitions) {           System.out.println("perform,now:"+now+                ",remainingRepetitions: "+remainingRepetitions+                ",name: "+name+ ",value: "+value);       } }  

    最新回复(0)