動的プロキシの手動構成

ネイティブ実行可能ファイルのビルド時に動的プロキシ・クラスを生成するには、それらによって実装されるインタフェースのリストを指定します。ネイティブ・イメージには、次の2つのオプションがあります:

これらのオプションでは、構造が完全修飾インタフェース名の配列の配列であるJSONファイルが受け入れられます。たとえば:

[
 { "interfaces": [ "java.lang.AutoCloseable", "java.util.Comparator" ] },
 { "interfaces": [ "java.util.Comparator" ] },
 { "interfaces": [ "java.util.List" ] }
]

ノート: 指定するプロキシ・インタフェースの順序は重要です。Proxyクラスに対する2つのリクエストで、インタフェースの組合せが同じでも順序が異なる場合は、2つの異なる動作が発生します(詳細は、Class Proxyを参照してください)。

java.lang.reflect.Proxy APIでは、ユーザー指定のインタフェースを実装しない動的プロキシを作成することもできます。この場合、生成された動的プロキシ・クラスではjava.lang.reflect.Proxy のみが実装されます。