jbossNS架构是基于socket/RMI的javax.naming.Context接口的实现,它是可以被remote访问的c/s实现。这个实现是经过优化的,当访问发生在与jbossNS运行服务相同的虚拟机中时,不会发生socket调用,直接返回一个全局单例的对象引用。
服务调用过程:
服务器启动时,启动命名服务,生成命名服务器,并在1099端口进行监听。
当客户端通过lookup方法查找对象时,先会查找是否有NamingServer的stub,没有则向1099端口发送socket请求,获取NamingServer的stub。在获取到stub后,即可通过调用stub的接口,以rmi的方式,获取对象。