
jndi.properties 내용은 다음과 같습니다
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory기본적으로 TCP 1099포트로 할당되게 됩니다. 이 포트를 이용하여 RMI기준으로 JBoss AS의 네이밍 서비스를 검색하게 됩니다.
java.naming.provider.url=jnp://xxx.xxx.xxx.xxx:1099
java.naming.factory.url.pkgs=org.jboss.naming
Naming Service에 대한 환경설정은 YourConfig->conf->jboss-service.xml에 정의되어 있으며 hot-deploy 대상이 아니므로 변경사항에 대한 내용이 모니터링되지 않습니다. 즉 kernel이 부팅된 이후 한번만 읽게 되는 대상입니다.
1099 Port Attribute가 disable 될 수 있는 경우는 다음과 같습니다.
1. HTTP 클라이언트만 가지고 있는 경우
2. 모든 원격 네이밍 서비스가 HTTP 터널링을 통해 서비스되는 경우
3. 복제된 네이밍 서비스가 작동되고 있는 경우
만약 보안에 의하여 HTTP이외의 다른 프로토콜을 사용할 수 없는 경우 Naming Service에 HTTP Tunneling을 통해서 접근할 수 있습니다. 그 때의 설정은 다음과 같이 할 수 있습니다.
java.naming.factory.initial=org.jboss.naming.HttpNamingContextFactory위의 invoker는 web application context root이며 JBoss AS에 포함되어 있습니다.
java.naming.provider.url=http://xxx.xxx.xxx.xxx:8080/invoker/JNDIFactory
java.naming.factory.url.pkgs=org.jboss.naming

해당 디렉토리의 web.xml을 보게 되면 아래의 내용이 세팅되어 있습니다.
<servlet>
<servlet-name>JNDIFactory</servlet-name>
<description>A servlet that exposes the JBoss JNDI Naming service stub
through http. The return content is a serialized
MarshalledValue containg the org.jnp.interfaces.Naming stub. This
configuration handles requests for the standard JNDI naming service.
</description>
<servlet-class>org.jboss.invocation.http.servlet.NamingFactoryServlet</servlet-class>
<init-param>
<param-name>namingProxyMBean</param-name>
<param-value>jboss:service=invoker,type=http,target=Naming</param-value>
</init-param>
<init-param>
<param-name>proxyAttribute</param-name>
<param-value>Proxy</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<!-- ### Servlet Mappings -->
<servlet-mapping>
<servlet-name>JNDIFactory</servlet-name>
<url-pattern>/JNDIFactory/*</url-pattern>
</servlet-mapping>





