私はアプリケーションサーバーを作成していますが、その中でいくつかのバイトコード操作を使用する必要があります (例:で注釈が付けられたクラスにカスタムequals
とメソッドを挿入する)。ここで、 ASMを使用してバイトコード変換を行う Java エージェント ( -javaagentオプション) をJVM に与えます。hashCode
@Entity
OSGiの使用を検討していますが、必要なバイトコード操作を実行できるかどうかはわかりません。
- OSGi を使用しているときにバイトコード操作を行うことは可能ですか? どのように?
- バンドルが動作するために何らかのバイトコード操作が必要であることを宣言することは可能ですか? たとえば、アプリケーション サーバーでは、独自のコア クラスの一部を操作する必要があります。
- 他のバンドルが何らかのバイトコード操作を必要とすることを、そのバンドルが知らずに指定することは可能ですか? たとえば、サーバー上で実行されるすべてのアプリケーションは操作する必要がありますが、アプリケーションはそれを知る必要はありません。
- バンドルが依存するすべてのバンドルをバイトコードで操作する必要があることを宣言することは可能ですか?
@Entity
これにより、アノテーションを含む API バンドルに依存するすべての人を操作する必要があることを簡単に宣言できます。