飞机的CDI扩展 - 代码日志

飞机的CDI扩展

我尝试在我的应用程序中运行飞行路线,然后再将hibernate挂起在我的JBoss AS 7.1上。我尝试使用@ javax.ejb.Startup注释,但是在初始化Hibernate并检查数据库方案之后,它将被执行。

所以据我所知,我们可以使用在Hibernate初始化之前挂起的CDI扩展。是否有一些支持的开箱即用的飞行道路?如果没有,有人试图这样做吗?

好的,我终于找到了如何做到这一点:我不得不使用Hibernate Integration API。这是我写的整个代码:

public class FlywayIntegrator implements Integrator {

  @Override
  public void integrate(final Configuration configuration, final SessionFactoryImplementor sessionFactoryImplementor, final SessionFactoryServiceRegistry sessionFactoryServiceRegistry) {
    final Flyway flyway = new Flyway();

    flyway.setDataSource(....);
    flyway.migrate();
  }

  @Override
  public void integrate(final MetadataImplementor metadataImplementor, final SessionFactoryImplementor sessionFactoryImplementor, final SessionFactoryServiceRegistry sessionFactoryServiceRegistry) {
    //no-op
  }

  @Override
  public void disintegrate(final SessionFactoryImplementor sessionFactoryImplementor, final SessionFactoryServiceRegistry sessionFactoryServiceRegistry) {
    //no-op
  }
}

如果任何人对更多的细节感兴趣,我创建了一个github项目,证明:https://github.com/dobermai/Hibernate-Flyway-Integration

http://stackoverflow.com/questions/11071821/cdi-extension-for-flyway

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:飞机的CDI扩展