gpt4 book ai didi

cdi - 飞行 channel 的CDI扩展

转载 作者:行者123 更新时间:2023-12-03 11:50:33 29 4
gpt4 key购买 nike

在休眠状态挂接到我的JBoss AS 7.1之前,我试图在应用程序中运行flyway。我尝试使用@javax.ejb.Startup批注,但是在初始化Hibernate和检查数据库方案之后,此批注便会执行。

据我所知,我们可以使用CDI扩展,该扩展在Hibernate初始化之前就挂接了。开箱即用是否有一些支持?如果没有,是否有人尝试过这样做?

最佳答案

好的,我终于找到了执行该操作的方法:我必须使用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

关于cdi - 飞行 channel 的CDI扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11071821/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com