JSP学习笔记(一百零五):spring下jndi配置的问题
在Tomcat下使用,jndi名称需要这么写:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/myJndiName"></property>
</bean>
在Weblogic下使用,jndi名称是这么写:
<property name="jndiName" value="java:comp/env/myJndiName"></property>
</bean>
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="myJndiName"></property>
</bean>
<property name="jndiName" value="myJndiName"></property>
</bean>
由于jndi名称写法不一致,以前的做法都是在不同的服务器动态切换配置文件,比较麻烦
刚刚发现,其实可以这么写,就不用切换了,哈哈:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="myJndiName"></property>
<property name="resourceRef" value="true"></property>
</bean>
<property name="jndiName" value="myJndiName"></property>
<property name="resourceRef" value="true"></property>
</bean>
添加了一个属性resourceRef,api上的解释是这样的:Set whether the lookup occurs in a J2EE container, i.e. if the prefix "java:comp/env/" needs to be added if the JNDI name doesn't already contain it. Default is "false".