वर्तमान में मैं xml को जावा कॉन्फ़िगरेशन में परिवर्तित कर रहा हूं। लेकिन मैं कुछ हिस्सों में फंस गया कि मैं कई दिनों से शोध कर रहा हूं। यहाँ समस्या:jndi लुकअप को xml से java config में परिवर्तित करने के लिए कैसे करें
Xml config:
<jee:jndi-lookup id="dbDataSource" jndi-name="${db.jndi}" resource-ref="true" />
:
@Bean(name = "dbDataSource")
public JndiObjectFactoryBean dataSource() {
JndiObjectFactoryBean bean = new JndiObjectFactoryBean();
bean.setJndiName("${db.jndi}");
bean.setResourceRef(true);
return bean;
}
और यह:
<jee:jndi-lookup id="dbDataSource" jndi-name="${db.jndi}" resource-ref="true" />
<beans:bean id="jdbcTemplate"
class="org.springframework.jdbc.core.JdbcTemplate" >
<beans:property name="dataSource" ref="dbDataSource"></beans:property>
</beans:bean>
अब तक मैं इस कोड को परिवर्तित करने में कामयाब
<beans:bean id="jdbcTemplate"
class="org.springframework.jdbc.core.JdbcTemplate" >
<beans:property name="dataSource" ref="dbDataSource"></beans:property>
</beans:bean>
इस के लिए
:
@Bean(name = "jdbcTemplate")
public JdbcTemplate jdbcTemplate() {
JdbcTemplate jt = new JdbcTemplate();
jt.setDataSource(dataSource);
return jt;
}
समस्या विधि setDataSource() जरूरत डेटास्रोत वस्तु है, लेकिन मुझे यकीन है कि दोनों bean.How डेटा स्रोत को JndiObjectFactoryBean पारित करने के लिए संबंधित के लिए कैसे नहीं कर रहा हूँ?
या मुझे किसी अन्य विधि का उपयोग करने की आवश्यकता है?
अतिरिक्त प्रश्न:
bean.setJndiName("${db.jndi}")
, $ {db.jndi} गुण का उल्लेख है फ़ाइल लेकिन मैं हमेशा NameNotFoundException, यह कैसे काम करने के लिए मिल गया?
धन्यवाद !!
धन्यवाद काम कर रहा है लेकिन उसके बाद '@value (" $ {db.jndi} "' – FreezY
मेरे सिर से यह टाइप स्ट्रिंग जोड़ने की जरूरत है, याद किया 'स्ट्रिंग', अब तय की। –