Reguły przeglądu kodu Java JBoss

Zgodnie z zestawem reguł przeglądu kodu Java kategoria migracji produktu JBoss do produktu WebSphere zawiera wiele reguł. Więcej informacji na temat reguły można znaleźć w sekcji Wyświetlanie szczegółowej pomocy.

Nazwa reguły Szybka poprawka Wykonana czynność
Nie używaj łańcuchów wyszukiwania nazw specyficznych dla serwera JBoss Nie Ta reguła umożliwia wykrycie użycia łańcuchów wyszukiwania nazw serwera aplikacji JBoss, które rozpoczynają się od "java:", takich jak "java:jboss" i "java:jdbc". Łańcuchy rozpoczynający się od "java:" lub "java:/" są również wykrywane, ponieważ treść po niej może zawierać wartości serwera aplikacji JBoss.
Nie używaj pakietów specyficznych dla serwera JBoss Nie Ta reguła umożliwia wykrycie zaimportowanych klas, które rozpoczynają się od org.jboss. Te klasy muszą być migrowane ręcznie.
Nie używaj stałych wartości limitów czasu wysyłania lub odbioru specyficznych dla serwera JBoss Nie Ta reguła wykrywa stałe połączenia serwera aplikacji JBoss i limitu czasu odpowiedzi, takie jak org.jboss.ws.timeout.
Nie używaj literałów łańcuchowych specyficznych dla serwera JBoss Nie Ta reguła wykrywa ogólne łańcuchy serwera aplikacji JBoss, które nie są objęte innymi regułami.
Nie używaj komponentów MBean na potrzeby logiki uruchamiania lub zamykania aplikacji JBoss Tak

Ta reguła umożliwia wykrycie klas, które implementują interfejs rejestracji komponentu MBean w celu uruchomienia logiki uruchamiania i zamykania aplikacji.

Szybka poprawka, która jest udostępniana dla tej reguły, przekształca klasę w celu zaimplementowania interfejsu ServletContextListener w celu wykonania logiki uruchamiania i zamykania.

Ważne: Jeśli kod udostępnia komponenty MBean i implementuje on MBeanRegistration dla zamierzonego celu, należy wyłączyć tę regułę.
Migruj komponenty MBean specyficzne dla innych serwerów aplikacji Nie

Ta reguła umożliwia wykrycie wszystkich wywołań konstruktora javax.management.ObjectName , które mogą być specyficzne dla aplikacji serwera aplikacji i które należy poddać migracji, aby aplikacja była uruchamiana na serwerze WebSphere Application Server.

Używaj przenośnych wartości właściwości JNDI Nie Ta reguła wykrywa użycie konstruktora javax.naming.InitialContext(Hashtable), określając, aby nie umieszczać w tabeli mieszającej żadnych wartości nazw JNDI serwera aplikacji JBoss Application Server.
Nie używaj wartości właściwości JNDI specyficznych dla serwera JBoss Tak

Ta tradycyjna reguła produktu WebSphere Application Server wykrywa użycie tych wartości właściwości JNDI:

  • java.naming.factory.initial = org.jnp.interfaces. NamingContextFactory
  • java.naming.provider.url = jnp://localhost:1099

Jeśli te wartości zostaną znalezione, dostępna jest opcja zmiany nazw JNDI na domyślne przenośne wartości nazw JNDI:

  • java.naming.factory.initial = com.ibm.websphere.naming. WsnInitialContextFactory
  • java.naming.provider.url= corbaloc:iiop:localhost:2809
Ograniczenie: Wartości nazw JNDI muszą znajdować się w tym samym pliku źródłowym Java, w którym kontekst jest inicjowany za pomocą konstruktora javax.naming. InitialContext(Hashtable) .
Nie używaj stałych wartości limitów czasu wysyłania lub odbioru specyficznych dla serwera JBoss Nie Ta tradycyjna reguła produktu WebSphere Application Server wykrywa stałe limitu czasu aplikacji JBoss JAX-RPC i JAX-WS, które mają być migrowane do stałych limitów czasu usługi Web Service IBM .
Pakiety i klasy JBoss nie są obsługiwane na serwerze WebSphere Nie

Ta reguła wykrywa użycie literałów łańcuchowych JBoss w kodzie Java i plikach właściwości. Oznaczane są wszystkie literały zawierające łańcuch "jboss". Jako alternatywy należy używać pakietów, klas i właściwości udostępnianych przez platformę Java EE lub WebSphere Application Server.

Sprawdź poprawność wyniku konkatenacji za pomocą metody getRealPath("") Nie

Na serwerze WebSphere traditional metoda getRealPath("") zwraca łańcuch, który kończy się końcowym ukośnikiem. Należy sprawdzić, czy konkatenacja za pomocą tej metody nie powoduje dodania kolejnego ukośnika.

Sprawdź poprawność wyniku konkatenacji za pomocą metody getRealPath("*/") Nie

Na serwerze Liberty i WebSphere traditional metoda getRealPath("*/") zwraca łańcuch, który kończy się ukośnikiem. Należy sprawdzić, czy konkatenacja za pomocą tej metody nie powoduje dodania kolejnego ukośnika.