Изменение поведения конструкторов классов динамических посредников

В Java SE 8: java.lang.reflect.Proxy(InvocationHandler) Конструктор вызывает исключение NullPointerException , если параметр InvocationHandler равен null. В предыдущих версиях Java конструктор возвращал объект посредника, но возникала исключительная ситуация NullPointerException при попытке использовать этот объект.

В Java 8 аналогично изменено поведение Constructor.newInstance(InvocationHandler). В Java 8, когда InvocationHandler - null, метод newInstance выбрасывает InvocationTargetException, а не возвращает бесполезный объект посредника.

Это правило помечает вызовы конструкторов java.lang.reflect.Proxy(InvocationHandler) и Constructor.newInstance(InvocationHandler). Проверьте помеченный код и либо сделайте так, чтобы параметр обработчика никогда не был null, либо замените помеченные методы методом фабрики newProxyInstance, который выбрасывает NullPointerException и в Java 7, и в Java 8.

Дополнительная информация о конструкторе java.lang.reflect.Proxy(InvocationHandler) приведена в документации Java по классу java.lang.reflect.Proxy.