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. Szybka poprawka jest dostępna w skanerze kodu źródłowego. Szybka poprawka usuwa wyjątek NullPointerException z poniższej metody implementacji komponentu bean.
Na przykład następujący wiersz jest zdefiniowany w interfejsie zdalnym:
|
public Object getEmployee(java.lang.String serialNumber) throws RemoteException, SQLException, IllegalStateException; |
|
public Object getEmployee(java.lang.String serialNumber)
throws SQLException, |
Tylko klasy implementacji komponentu bean są oznaczane przez tę regułę i zmieniane przez szybką poprawkę. Jeśli interfejs jest niepoprawny, należy ręcznie zmienić interfejs, dodając brakujący wyjątek. Następnie należy ponownie przeprowadzić analizę.
Wyjątek 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.
Jeśli wyjątek zostanie dodany, zostanie dodany import, jeśli można go rozstrzygnąć. Jeśli wyjątek zostanie usunięty, import nie zostanie usunięty, ponieważ może być używany przez inne metody w klasie. Może być konieczne zorganizowanie importów po wprowadzeniu szybkich poprawek.
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ę.