2014-10-07 6 views
5

मैं जानना चाहता हूं कि एनोटेशन का उपयोग करके वसंत नियंत्रक में जेएनडीआई संसाधन को स्वचालित कैसे करें।वसंत में ऑटोवायर जेएनडीआई संसाधन

वर्तमान में मैं संसाधन का उपयोग कर

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> 
<property name="jndiName" value="my/service"/> 
</bean> 

वहाँ कोई तरीका है, मैं एक ही बात एनोटेशन का उपयोग कर सकते प्राप्त कर सकते हैं? कुछ @ संसाधन (नाम = "मेरी/सेवा") की तरह कुछ?

+0

यह स्पष्ट नहीं है कि आप क्या हासिल करने के लिए देख रहे हैं इंजेक्षन करने के लिए। आप @Autowired का उपयोग कर अपने वसंत संदर्भ में किसी भी बीन को स्वचालित कर सकते हैं। यदि आप एक पहचानकर्ता का उपयोग करना चाहते हैं, तो आपकी बीन आईडी उस उद्देश्य को पूरा करती है। हालांकि, मुझे यकीन नहीं है कि आप जेएनडीआई फैक्ट्री बीन को ऑटोवायर क्यों करना चाहते हैं। – Angad

+0

क्या आपने इस मुद्दे को हल किया है? यदि हां, तो आपने इसे कैसे हल किया? – Xstian

उत्तर

2

मैं इस विन्यास का प्रयोग कर एक JNDI संसाधन

वसंत config

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:beans="http://www.springframework.org/schema/beans" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:jee="http://www.springframework.org/schema/jee" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
      http://www.springframework.org/schema/beans/spring-beans.xsd 
      http://www.springframework.org/schema/context 
      http://www.springframework.org/schema/context/spring-context.xsd 
      http://www.springframework.org/schema/jee 
      http://www.springframework.org/schema/jee/spring-jee.xsd"> 

    <jee:jndi-lookup id="destination" jndi-name="java:/queue/inbound/jndiname" /> 

</beans> 

कक्षा

@Autowired 
private javax.jms.Destination destination; 
+0

एक टिप्पणी के बिना एक downvote क्यों? -.- ' – Xstian

6
@Configuration 
public class Configuration { 
    @Bean(destroyMethod = "close") 
    public DataSource dataSource() { 
     JndiDataSourceLookup dsLookup = new JndiDataSourceLookup(); 
     dsLookup.setResourceRef(false); 
     DataSource dataSource = dsLookup.getDataSource("my/service");  
     return dataSource; 
    } 
} 
संबंधित मुद्दे