Cambiamento del comportamento nella costruzione di classi proxy dinamiche

In Java SE 8, la java.lang.reflect.Proxy(InvocationHandler) Il costruttore genera un'eccezione NullPointer se il parametro InvocationHandler è null. Nelle versioni precedenti di Java, il costruttore restituiva un oggetto proxy ma generava un'eccezione NullPointerException quando si utilizzava il proxy.

Java 8 ha introdotto un cambiamento nel comportamento simile per Constructor.newInstance(InvocationHandler). In Java 8, quando InvocationHandler è null, il metodo newInstance genera un'eccezione InvocationTargetException invece di restituire un oggetto proxy inutilizzabile.

Questa regola contrassegna le chiamate ai costruttori java.lang.reflect.Proxy(InvocationHandler) e Constructor.newInstance(InvocationHandler). Verificare il codice contrassegnato ed assicurarsi che il gestore non sia null o modificare il codice in modo da utilizzare il metodo factory newProxyInstance, che genera un'eccezione NullPointerException sia in Java 7 che in 8.

Per ulteriori informazioni sulla classe java.lang.reflect.Proxy(InvocationHandler), consultare la documentazione Java Class java.lang.reflect.Proxy.