问题描述
郁闷中: 为什么只用这一句话 Context namingContext = new InitialContext(); 就可以拿到RMI中注册的对象.. new InitialContext(); 它是怎么实现的? 是否有相关点的配置文件?
解决方案
InitialContext()是可以加载配置文件的(jndi.properties),构造方法也可以带参数的(见API),以下是我的看法,它的初始化是由容器来(系统内部)来完成的,如果你的客户端和服务器都在一台机子上且同一个JVM,那么Context namingContext = new InitialContext();是没问题,如果你的服务器端在另一台机器上,想想也知道,肯定要配置个IP的,对于JNDI的编程都是先注册资源(数据库连接,EJB等),然后再用,这样的原则的,我在EJB3,也同样用到InitialContext()我想道理是相同的,以下是jnid.properties的配置文件(EJB)java.naming.factory.initial=org.jnp.interfaces.NamingContextFactoryjava.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfacesjava.naming.provider.url=localhost:1099
时间: 2024-12-30 17:19:24