Usar valores de propriedade JNDI portáteis

Essa regra sinaliza qualquer uso do construtor javax.naming.InitialContext(Hashtable) pois ela não pode sempre determinar os valores de tempo de execução no Hashtable. Ao usar o construtor javax.naming.InitialContext(Hashtable), assegure-se de que nenhum valor de propriedade da JNDI proprietário seja usado. Os valores de propriedade da JNDI proprietários da JBoss incluem:

Se esses valores de propriedade da JNDI não forem usados, então nenhuma ação adicional será necessária. Se esses valores de propriedade da JNDI forem usados, então há três soluções manuais possíveis.

Opção 1: Usar o construtor javax.naming.InitialContext()

Utilize esta opção se não houver outras propriedades da JNDI sendo configuradas. Essa opção é válida para o WebSphere Application Server tradicional ou Liberty.

Opção 2: Remover o factory de nomenclatura e as propriedades do provedor de nomenclatura do Hashtable.

Utilize esta opção se outras propriedades da JNDI estiverem sendo configuradas. Essa opção é válida para o WebSphere Application Server tradicional ou Liberty.

Opção 3: Substituir os valores de propriedade da JNDI pelos valores de propriedade da JNDI válidos do WebSphere Application Server tradicional

Essa opção é válida para o WebSphere Application Server tradicional:

Se os valores de sequência literal para esses valores de propriedade da JNDI estiverem localizados no mesmo arquivo de origem Java em que o construtor javax.naming.InitialContext(Hashtable) é usado, use a regra do WebSphere Application Server tradicional Não usar valores de propriedade da JNDI específicos do JBoss e a correção rápida para realizar essa tarefa.