如何在Jboss启动时调用Java程序
有一个配置文件和数据库某个表对应,每次从前台界面修改此配置时,同时更新数据表和文件。
现在有个问题,如果我换了个数据库,启动Jboss后,因为数据库更改会造成数据库表和文件不一致。
现在想每次启动Jboss时都去读数据库表,然后更新文件。
请问这个应该怎么实现。
[解决办法]
写一个web应用,然后写一个servlet,这个servlet就只是在启动的时候帮你同步数据库和配置文件,比如
<servlet> <servlet-name>config_file_init</servlet-name> <servlet-class>org.your.company.youservlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet>
[解决办法]
用MBean来实现吧;简单;
[解决办法]
我跟2楼的一样,使用MBean是最好的,
首先在META-INF目录下面配置jboss-service.xml
<mbean code="com.mbean.AutoCollectDaemon" name="keqisoft:serviece=autoCollectDaemon">
</mbean>
public class AutoCollectDaemon extends ServiceMBeanSupport implements AutoCollectDaemonMBean{
@Override
protected void startService() throws Exception {
super.startService();
autoCollect();
}
/**
* 开始启用
*/
public void autoCollect() {
//你自己要写的代码
}
}
public interface AutoCollectDaemonMBean extends ServiceMBean{
public void autoCollect();
}