Usar as propriedades JNDI InitialContext padrão

Use os valores padrão para as propriedades JNDI java.naming.factory.initial e java.naming.provider.url ao migrar para o Liberty. Os valores do WebSphere Application Server tradicional a seguir para essas propriedades não são válidos:

A ferramenta de migração varre arquivos de Java e de propriedades para as propriedades mencionadas anteriormente.

Em arquivos jndi.properties as chaves de propriedade java.naming.factory.initial e java.naming.provider.url são sinalizadas independentemente do valor. Se a regra do arquivo de propriedades detectar um arquivo jndi.properties, verifique as propriedades no arquivo. Remova as propriedades java.naming.factory.initial e java.naming.provider.url ou exclua o arquivo se nenhuma das propriedades for necessária.

O exemplo a seguir ilustra o código do aplicativo que essa regra sinalizará:


import java.util.Hashtable;
import javax.naming.InitialContext;
...
void main( String[] args ) {
Hashtable ht = new Hashtable();

ht.put(java.naming.factory.initial, com.ibm.websphere.naming.WsnInitialContextFactory);
ht.put(java.naming.provider.url, corbaloc:iiop:localhost:2809);

InitialContext ctx = new InitialContext(ht);
}

Ao usar o construtor InitialContext(Hashtable), remova essas duas propriedades. Se nenhuma outra propriedade estiver sendo usada, será possível usar o construtor padrão.

O exemplo a seguir ilustra o uso adequado do código mostrado no exemplo prévio:


import javax.naming.InitialContext;
...
void main( String[] args ) {
InitialContext ctx = new InitialContext();
}

Ao usar o construtor InitialContext(Hashtable), remova essas duas propriedades. Se nenhuma outra propriedade estiver sendo usada, será possível usar o construtor padrão.

Essa regra tem uma correção automatizada para remover essas duas propriedades. Copie a configuração customizada para seu arquivo de construção do aplicativo para ativá-la.

A regra também sinalizará com.ibm.websphere.naming.WsnInitialContextFactory em qualquer lugar no código Java. Remova esta sequência e verifique se ela não está sendo usada como parte da inicialização do InitialContext.