Java 在JBoss中将EntityManager初始化为6之前的代码钩子

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

我正在寻找一个回调工具,它允许我在JBoss6中启动EntityManager之前执行一些代码

更具体地说,我希望在初始化EntityManager之前处理Liquibase变更日志

非常感谢任何提示!
您使用的是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
,不是吗?