Użyj zgodnej klauzuli throws w klasie komponentu EJB

Ta reguła służy do oznaczania metod implementacji komponentów EJB zawierających klauzulę throws, która nie jest zgodna z odpowiednimi metodami interfejsu podstawowego lub interfejsu zdalnego. Klauzule throws muszą być zgodne. W przeciwnym razie kompilator RMI zgłosi błędy i nie będzie mógł wygenerować kodów pośredniczących RMI. Zostanie dostarczona automatyczna poprawka aby usunąć wyjątek, NullPointerException, z następującej metody implementacji fasoli.

Na przykład następujący wiersz jest zdefiniowany w interfejsie zdalnym:
Interfejs zdalny

public Obiekt getEmployee(java.lang.String serialNumber)

throws RemoteException,
SQLException,
IllegalStateException;


Oznacza to, że następująca deklaracja metody zostanie oznaczona w klasie implementacji komponentu bean:
Implementacja komponentu bean

public Obiekt getEmployee(java.lang.String serialNumber)

throws SQLException,
IllegalStateException,
NullPointerException
< span class="indent"> {

// implementacja

}

Tylko klasy implementacji beanów są oznaczane przez regułę i zostaną zmienione. Jeśli interfejs jest niepoprawny, należy ręcznie zmienić interfejs, dodając brakujący wyjątek. Następnie należy ponownie przeprowadzić analizę.

Zadanie java.rmi.RemoteException nie jest kopiowany z interfejsów do implementacji komponentu bean. Implementacja komponentu bean nie powinna zgłaszać wyjątku RemoteException, ponieważ to działanie stanowi także naruszenie specyfikacji komponentów EJB.

Po dodaniu wyjątku należy dodać import, aby można go było rozwiązać. Jeśli wyjątek zostanie usunięty, import nie zostanie usunięty, ponieważ może być używany przez inne metody w klasie. Konieczne może być zorganizowanie importu tych kroków.

Błędy Java muszą zostać rozwiązane w definicji metody, zanim możliwe będzie wykrycie niezgodności w klauzuli throws. Jeśli wystąpią błędy języka Java, należy je poprawić i ponownie uruchomić analizę.