J2EE容器分为Servlet容器和EJB容器,例如Tomcat就是一个Servlet容器,WebLogic,WebSphere Application Server,JBoss就是EJB容器。他们都提供JNDI的支持,你可以把任何资源(如DataSource、JMS、Queue、Mail甚至是URL资源)都绑定到JNDI上下文中,这样可以降低组件间的耦合性。
通常的Servlet容器(如Tomcat、Resin)中的JNDI资源只能被容器中的程序查到、使用,而不能在容器外引用,也就是只能被容器所以进程所用;而EJB容器中的JNDI资源却可以在容器外,或者是另一台机器上的程序查找到并透明使用,因为EJB本来就是要为分布式服务的。EJB容器中的JNDI资源可以通过JNP、RMI、IIOP、T3或文件引用的方式发布出去。 阅读全文 >>