Flyway servlet初始化

时间:2012-12-07 16:10:42

标签: flyway

Liquibase有一个servlet选项来初始化数据库。 http://liquibase.org/manual/servlet_listener

Flyway有这样的例子吗?或者,更好的是一个工作的servlet?

1 个答案:

答案 0 :(得分:2)

您真正想要的是在启动时运行flyway.migrate()。这可以通过各种方式实现,Servlet Listener就是其中之一。

开箱即用的没有servlet监听器,但是推出自己的servlet监听器是微不足道的。

看起来应该是这样的:

@WebListener
public class FlywayListener implements ServletContextListener {

    public void contextInitialized(ServletContextEvent sce) {
        Flyway flyway = new Flyway();
        flyway.setDataSource(...);
        flyway.migrate();
    }

    public void contextDestroyed(ServletContextEvent sce) {
    }
}

实现ServletContextListener接口的类称为before第一个servlet(或过滤器)调用和after最后一个。 @WebListener注释是向Servlet容器通知您的预期监听器的一种方法。有关详细信息,请参阅this Oracle Tutorialsearch Stack Overflow