Java 在JBoss中将EntityManager初始化为6之前的代码钩子
我正在寻找一个回调工具,它允许我在JBoss6中启动EntityManager之前执行一些代码 更具体地说,我希望在初始化EntityManager之前处理Liquibase变更日志 非常感谢任何提示!Java 在JBoss中将EntityManager初始化为6之前的代码钩子,java,jpa,jboss,jakarta-ee,Java,Jpa,Jboss,Jakarta Ee,我正在寻找一个回调工具,它允许我在JBoss6中启动EntityManager之前执行一些代码 更具体地说,我希望在初始化EntityManager之前处理Liquibase变更日志 非常感谢任何提示! 您使用的是Spring还是AspectJ?听起来像: 7.2.4.1通知前 使用@Before注释在方面中声明Before通知: import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Befor
您使用的是Spring还是AspectJ?听起来像: 7.2.4.1通知前 使用@Before注释在方面中声明Before通知:
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
@Aspect
public class LiquibaseChangelogAspect {
@Before("javax.persistence.EntityManagerFactory.createEntityManager()")
public void processChangelog() {
// ...
}
}
您可能需要调整
@之前的注释中的方法名称,使其完全符合您的要求,因为JBoss可能正在使用代理或其他任何东西。有趣的方法。。。但是,我没有使用Spring,也没有使用AspectJ。也许JEE6拦截器可以提供相同的功能?是的,看看javax.interceptor,拦截器看起来也可以工作!打得好。你的意思可能是EntityManager工厂
,而不是EntityManager
,不是吗?