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
Proxyclass 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.