JNDI是J2EE中最基础的部分,Jboss与Jfox的jndi的实现都是通过 Socket 编程 ,使用 serializable 和 MarshalledObject来实现服务的Serilizable。
最简单的一段代码:Object obj = context.lookup("testConnedtionFactory");
该怎么理解这段代码,我说出我的想法:
1context是一个接口他的真正实现是通过远程方法调用
2这个obj对象是通过流,读取远程目录服务上序列化过来的对象
说的在俗点就是远程方法加序列化,这就是我的观点,我这么认为是因为看过了weblogic.jar才感受出来的,我们都知道不同的服务器又有不同的jndi服务实现方式,具体的我没有研究,我只是粗略的理解了一下,只是想破处自己的迷惑而已,但是这不足以充分的解释jndi的实现机制
下面是WebLogic的JNDI实现的部分代码,我们可以看到,它确实是使用了序列化