我有一个如下的Spring设置。
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory</prop>
<prop key="java.naming.provider.url">jnp://jndi.myURL.com:1099</prop>
<prop key="java.naming.factory.url.pkgs">org.jboss.naming:org.jnp.interfaces</prop>
<prop key="jnp.disableDiscovery">true</prop>
</props>
</property>
</bean>
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/mysql"/><!-- DataSource Name -->
<property name="resourceRef" value="false"/>
<property name="jndiTemplate" ref="jndiTemplate" />
</bean>
我想把它转换成JEE标签格式。
我想将我的DataSrouce定义为
<jee:jndi-lookup jndi-name="jdbc/mysql" resource-ref="false" >
<jee:environment>
....
</jee:environment>
</jee:jndi-lookup>
有没有办法定义这一点。
发布于 2013-12-10 17:52:32
您可以与以下人员共享该定义:
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment" ref="remoteEnv" />
</bean>
<jee:jndi-lookup id="wcDataSource" jndi-name="jdbc/wc-mysql" resource-ref="false" environment-ref="remoteEnv" />
<util:properties id="remoteEnv">
<prop key="java.naming.provider.url">jnp://jndi.myURL.me:1099</prop>
<prop key="java.naming.factory.url.pkgs">org.jboss.naming:org.jnp.interfaces</prop>
<prop key="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory</prop>
<prop key="jnp.disableDiscovery">true</prop>
</util:properties>
这样,如果需要的话,您仍然可以在其他地方引用jndiTemplate。
发布于 2012-07-17 16:00:35
感谢您的宝贵时间,我找到了问题所在。我发现了这个问题,但并没有真正找到正确的解决方案。以下是为我工作的代码片段。
<jee:jndi-lookup id="wcDataSource" jndi-name="jdbc/wc-mysql" resource-ref="false">
<jee:environment>
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=jnp://jndi.myURL.me:1099
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
jnp.disableDiscovery=true
</jee:environment>
</jee:jndi-lookup>
https://stackoverflow.com/questions/11517925
复制相似问题