1

换句话说,让 JBoss 在启动时立即运行 SQL 脚本文件或 bean。

当我重新启动我的应用程序时,我想在每次重新构建数据库时重新填充我的数据库。我该怎么做呢?

4

1 回答 1

3

根据 JBoss 版本(Java EE 6 中引入了 Singleton),您可以使用带有Startup注释的Singleton bean,并在@PostConstruct方法中执行这些操作。

如下所示:

import javax.annotation.PostConstruct;
import javax.ejb.Singleton;
import javax.ejb.Startup;

@Singleton
@Startup
public class Initializer {
    @PostConstruct
    public void populate() {
        //initialize database here
    }
}

根据规范,Singleton bean 为每个 JVM 实例化一次 - 因此在集群中使用会带来惊喜。

于 2012-08-28T13:08:11.837 回答