JBoss 특정 JNDI 특성 값 사용 안함

애플리케이션에서 IntialContext를 가져올 때 사용된 JBoss 특정 이름 지정 특성을 제거하거나 대체해야 합니다. 마이그레이션 도구는 특성 값 org.jnp.interfaces.NamingContextFactory, jnp://.*org.jboss.naming.*에 대해 Java 및 특성 파일을 스캔합니다. 예를 들어, 애플리케이션에서 다음 특성을 지정하면 도구는 빨간색 텍스트로 플래그를 지정합니다.

Liberty

Java 파일

Liberty로 애플리케이션을 이동할 때 InitialContext 생성자로 전달되는 특성에 초기 컨텍스트 팩토리 또는 제공자 URL을 지정하지 마십시오. 기타 이름 지정 특성이 설정되지 않은 경우 비어 있는 생성자를 사용하십시오.

다음 예제는 Liberty로 마이그레이션할 때 이 규칙이 플래그 지정하는 애플리케이션 코드에 대해 설명합니다.


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

ht.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
ht.put("java.naming.provider.url", "jnp://localhost:1099");
ht.put("java.naming.factory.url.pkgs", "org.jboss.naming");

InitialContext ctx = new InitialContext(ht);
}

Liberty의 경우, 불필요한 특성을 수동으로 제거하십시오.


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

특성 파일

java 파일에 플래그를 지정하는 것 외에도, 도구는 앞서 나열된 JBoss 특정 속성에 대한 특성 파일을 표시합니다. Liberty의 경우, 파일에서 이러한 특성을 제거하십시오.

WebSphere Application Server traditional

Java 파일

WebSphere Application Server traditional로 마이그레이션할 때, 앞서 언급한 동일한 JBoss 특성에 플래그가 지정됩니다. 자동화된 수정은 Java 파일에 JBoss 명명 속성 값을 WebSphere Application Server 기존에서 작동하는 값으로 변경합니다:

다음 예제는 WebSphere Application Server traditional로 마이그레이션할 때 이 규칙이 플래그 지정하는 애플리케이션 코드에 대해 설명합니다.


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

ht.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
ht.put("java.naming.provider.url", "jnp://localhost:1099");
ht.put("java.naming.factory.url.pkgs", "org.jboss.naming");

InitialContext ctx = new InitialContext(ht);
}

앞서 표시된 예제를 사용하면 다음과 같이 코드가 마이그레이션됩니다:


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");
ht.put("java.naming.factory.url.pkgs", "com.ibm.ws.naming");

InitialContext ctx = new InitialContext(ht);
}

WebSphere Application Server traditional로 이동할 때 또 다른 옵션은 특성을 제거하고 비어 있는 InitialContext() 생성자를 사용하는 것입니다.

제공된 경우 자동 수정은 후행 문자열 없이 org.jboss.naming 를 후행 문자열 없이 지정한 경우에만 적용됩니다 과 함께 지정된 경우에만 적용됩니다. 값 뒤에 org.jboss.naming 값 뒤에 추가 문자열이 오면 규칙이 해당 값에 플래그를 지정합니다. 예를 들어, 이 속성은 플래그가 지정됩니다: java.naming.factory.url.pkgs = org.jboss.naming:org.jnp.interfaces.


특성 파일

java 파일에 플래그를 지정하는 것 외에도, 도구는 앞서 나열된 JBoss 특정 속성에 대한 특성 파일을 표시합니다. WebSphere Application Server traditional의 경우 수동으로 파일에서 이러한 특성을 제거하거나 WebSphere 이름 지정 특성 값으로 변경하십시오.