Zmiana działania w konstruktorze dynamicznych klas proxy

W środowisku Java SE 8 java.lang.reflect.Proxy(InvocationHandler) konstruktor zgłasza wyjątek NullPointer , jeśli parametr InvocationHandler ma wartość NULL. W poprzednich wersjach środowiska Java konstruktor zwracał obiekt proxy, ale generował wyjątek NullPointerException, gdy używany był serwer proxy.

W środowisku Java 8 wprowadzono podobną zmianę działania metody Constructor.newInstance(InvocationHandler). W środowisku Java 8 gdy parametr InvocationHandler ma wartość NULL, metoda newInstance zgłasza wyjątek InvocationTargetException zamiast bezużytecznego obiektu proxy.

Ta reguła powoduje oznaczenie wywołań konstruktorów java.lang.reflect.Proxy(InvocationHandler) i Constructor.newInstance(InvocationHandler). Należy przejrzeć oznaczony kod i upewnić się, że procedura obsługi nigdy nie ma wartości NULL albo zmienić kod tak, aby korzystał z metody fabrycznej newProxyInstance, która zgłasza wyjątek NullPointerException w środowiskach Java 7 i 8.

Dodatkowe informacje na temat klasy java.lang.reflect.Proxy(InvocationHandler) można znaleźć w dokumentacji języka Java: Klasa java.lang.reflect.Proxy.