2

javassist を使用して Web アプリケーションのサードパーティ クラスを変更したいと考えています。Spring Web アプリケーション コンテキストの初期化が によって呼び出されると、クラスがロードされorg.springframework.web.context.ContextLoaderListenerます。カスタムを試しましたBeanFactoryPostProcessorが、開始が遅すぎるようです。

javassist.CannotCompileException: by java.lang.LinkageError: loader ... duplicate class definition for name: "SomeClass"

ContextLoaderListenerBeanを初期化する直前にクラスを変更するカスタムのものに置き換えることでできると思います。どういうわけか可能であれば、web.xml にまったく触れないことをお勧めします。

したがって、私の質問は、Bean 定義のクラスがロードされる前に実行されるコールバックを登録する方法があるかどうかです。

4

1 に答える 1