/ / JBoss AS 6でEntityManagerが初期化される前のコードフック - java、jpa、jboss、java-ee

JBoss AS 6でEntityManagerが初期化される前のコードフック - java、jpa、jboss、java-ee

私は コールバック機能 私はいくつかのコードを実行することができます EntityManagerが起動する前にJBoss 6.

具体的には、EntityManagerが初期化される前にLiquibaseの変更ログを処理したいと思います。

どんなヒントも大歓迎です! J.

回答:

回答№1は0

SpringやAspectJを使っていますか?それはのように聞こえる アスペクトを書くことはまさにあなたが望むものです

7.2.4.1助言の前に

@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() {
// ...
}

}

メソッド名を微調整する必要があるかもしれません。 @Before JBossがプロキシなどを使用している可能性があるため、アノテーションを正確に指定する必要があります。