2012-07-17 3 views
1

다음과 같이 Spring 설정이 있습니다.JNDI DataSource Bean을 JEE로 변환하십시오. jndi-lookup

<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 태그 형식으로 변환하고 싶습니다.

나는 그것을 정의하는 방법이 있나요

<jee:jndi-lookup jndi-name="jdbc/mysql" resource-ref="false" > 
    <jee:environment> 
     .... 
    </jee:environment> 
</jee:jndi-lookup> 

로 내 DataSrouce을 정의합니다.

답변

4

당신과 정의를 공유 할 수 있습니다.

2

감사합니다. 문제를 발견했습니다. 나는 그 문제를 발견했으나 올바른 해결책을 찾지 못했습니다. 다음은 나를 위해 작동하는 코드 스 니펫입니다.

<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를 참조 할 수 있습니다이 방법 :

<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>