◀Table of Contents
Configure Dynamic Proxies Manually
You can generate dynamic proxy classes at native executable build time by specifying the list of interfaces that they implement. Native Image provides two options:
-H:DynamicProxyConfigurationFiles=<comma-separated-config-files>
-H:DynamicProxyConfigurationResources=<comma-separated-config-resources>
These options accept JSON files whose structure is an array of arrays of fully qualified interface names. For example:
[
{ "interfaces": [ "java.lang.AutoCloseable", "java.util.Comparator" ] },
{ "interfaces": [ "java.util.Comparator" ] },
{ "interfaces": [ "java.util.List" ] }
]
Note: the order of the specified proxy interfaces is significant: two requests for a
Proxy
class with the same combination of interfaces but in a different order will result in two distinct behaviors (for more detailed information, refer toClass Proxy
).
The java.lang.reflect.Proxy
API also enables you to create a dynamic proxy that does not implement any user provided interfaces.
In this case the generated dynamic proxy class implements java.lang.reflect.Proxy
only.