JNDI笔记
JNDI服务是WEB容器提供的服务。WEB应用可以通过JNDI服务从容器中得到各种组件(包括但不限于数据源),实现各组件的解耦。
以下举一个例子。
在tomcat的conf/server.xml中配置:
<Context path="/jndi"> <Resource name="bean/MyBeanFactory" auth="Container" type="com.huawei.jndi.bean.MyBean" factory="org.apache.naming.factory.BeanFactory" bar="23"/> </Context>
try { Context initContext = new InitialContext(); Context envCtx = (Context) initContext.lookup("java:comp/env"); MyBean bean = (MyBean) envCtx.lookup("bean/MyBeanFactory"); System.out.println(bean.getBar()); } catch (Exception e) { e.printStackTrace(); }
<!-- JNDI模板 --><bean id="jndiTemplate" ref="jndiTemplate" /><property name="jndiName" value="TopicConnectionFactory" /></bean>