Geändertes Verhalten bei der Erstellung dynamischer Proxy-Klassen

In Java SE 8 java.lang.reflect.Proxy(InvocationHandler) Konstruktor löst eine NullPointer-Ausnahmebedingung aus, wenn der Parameter InvocationHandler null ist. In früheren Versionen von Java gibt der Konstruktor ein Proxy-Objekt zurück, generiert aber eine Ausnahme des Typs NullPointerException, wenn der Proxy verwendet wird.

Java 8 führt eine ähnliche Verhaltensänderung für Constructor.newInstance(InvocationHandler) ein. Wenn InvocationHandler in Java 8 null ist, löst die Methode newInstance eine Ausnahme des Typs InvocationTargetException aus, anstatt ein nicht verwendbares Proxy-Objekt zurückzugeben.

Diese Regel markiert Aufrufe der Konstruktoren java.lang.reflect.Proxy(InvocationHandler) und Constructor.newInstance(InvocationHandler). Überprüfen Sie den markierten Code und stellen Sie sicher, dass der Handler niemals null ist, oder ändern Sie den Code so, dass die Factory-Methode newProxyInstance verwendet wird, die sowohl in Java 7 als auch in Java 8 eine Ausnahme des Typs NullPointerException auslöst.

Weitere Informationen zur Klasse java.lang.reflect.Proxy(InvocationHandler) finden Sie in der Java-Dokumentation zur see the Klasse java.lang.reflect.Proxy.