Regole di revisione del codice Java JBoss

Nella serie di regole di revisione del codice Java, la categoria Migrazione del codice da JBoss a WebSphere contiene più regole. Per imparare a ottenere maggiori informazioni su una regola, consultare Visualizzazione di una guida dettagliata.

Nome regola Descrizione regola Correzione automatica
Non utilizzare le stringhe di ricerca della denominazione specifiche di JBoss Questa regola rileva l'utilizzo di stringhe di ricerca di denominazione JBoss Application Server che iniziano con "java:", come "java:jboss" e "java:jdbc". Vengono rilevate anche stringhe che iniziano con "java:" o "java:/" perché il contenuto successivo potrebbe contenere dei valori di JBoss Application Server. No
Non utilizzare package specifici di JBoss Questa regola rileva le classi importate che iniziano con org.jboss. Queste classi devono essere migrate manualmente. No
Non utilizzare costanti di timeout di invio e di ricezione specifiche di JBoss Questa regola rileva le costanti di connessione e di timeout di risposta di JBoss Application Server come org.jboss.ws.timeout. No
Non utilizzare i valori letterali stringa specifici di JBoss Questa regola rileva le stringhe JBoss Application Server generali non coperte da altre regole. No
Non utilizzare gli MBean per la logica di avvio o chiusura dell'applicazione JBoss

Questa regola rileva le classi che implementano l'interfaccia di registrazione MBean per eseguire la logica di avvio e arresto delle applicazioni.

La correzione rapida che viene fornita per questa regola converte la classe per implementare l'interfaccia ServletContextListener per eseguire la logica di avvio e arresto.

Importante : se il tuo codice fornisce MBean e implementa MBeanRegistration per lo scopo previsto, devi disattivare questa regola.
No
Migra MBean specifici su altri server delle applicazioni

Questa regola rileva tutti i richiami del costruttore javax.management.ObjectName che potrebbero essere specifici per il server delle applicazioni e che dovrebbero essere migrati perché l'applicazione venga eseguita su WebSphere Application Server.

No
Utilizza valori delle proprietà JNDI portabili Questa regola rileva l'utilizzo del costruttore, javax.naming.InitialContext(Hashtable), specificando di non inserire alcun valore di nome JNDI di JBoss Application Server proprietario nella tabella hash. No
Non utilizzare valori della proprietà JNDI specifici di JBoss

Questa regola di WebSphere Application Server tradizionale rileva l'utilizzo di questi valori di proprietà JNDI:

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

Se questi valori vengono trovati, viene fornita un'opzione per modificare i nomi JNDI in valori di nome JNDI portatili predefiniti:

  • java.naming.factory.initial = com.ibm.websphere.naming. WsnInitialContextFactory
  • java.naming.provider.url= corbaloc:iiop:localhost:2809
Limitazione: i valori del nome JNDI devono trovarsi nello stesso file di origine Java in cui il contesto viene inizializzato con il costruttore javax.naming. InitialContext(Hashtable) .
No
Non utilizzare costanti di timeout di invio e di ricezione specifiche di JBoss Questa regola di WebSphere Application Server tradizionale rileva le costanti di timeout JBoss JAX-RPC e JAX-WS da migrare a costanti di timeout del servizio web IBM. No
I package e le classi JBoss non sono supportati in WebSphere

Questa regola rileva l'utilizzo dei valori letterali stringa JBoss nel codice Java e nei file delle proprietà. Tutti i valori letterali stringa che includono "jboss" sono contrassegnati. Utilizzare invece package, classi e proprietà forniti da Java EE o WebSphere Application Server.

No
Convalidare il risultato della concatenazione con getRealPath("")

In WebSphere tradizionale, getRealPath("") restituisce una stringa che termina con una barra finale. Verificare che la concatenazione con questo metodo non aggiunga un'altra barra.

No
Convalidare il risultato della concatenazione con getRealPath("*/")

In Liberty e WebSphere tradizionale, getRealPath("*/") restituisce una stringa che termina con una barra finale. Verificare che la concatenazione con questo metodo non aggiunga un'altra barra.

No