मुझे स्प्रिंग के साथ जेएनडीआई के लिए मेरी कॉन्फ़िगरेशन सेट करने में समस्या है। मैंने अन्य पदों की जांच की लेकिन मेरी समस्या हल नहीं हो सका। मैं टॉमकैट 6 का उपयोग अपने कंटेनर के रूप में कर रहा हूं। मेरी समझ से मुझे सर्वर पर संसाधन स्थापित करने की आवश्यकता है। तो मेरी server.xml
फ़ाइल में मैं इस है:स्प्रिंग जेन्डी कॉन्फ़िगरेशन, सर्वर.एक्सएमएल
<GlobalNamingResources>
<Resource auth="Container" driverClassName="org.postgresql.Driver"
maxActive="100" maxIdle="5" maxWait="10000"
minEvictableIdleTimeMillis="60000" name="jdbc/myTomcatPool"
password="password" testOnBorrow="true" testWhileIdle="true"
timeBetweenEvictionRunsMillis="10000" type="javax.sql.DataSource"
url="jdbc:postgresql://localhost:5432/postgis" username="postgres"
validationQuery="SELECT 1"/>
</GlobalNamingResources>
मैं में निम्नलिखित है मेरी spring-context.xml
(जो classpath पर है):
<Context path="/myApp" reloadable="true" cacheMaxSize="51200"
cacheObjectMaxSize="2560">
<ResourceLink global="jdbc/myTomcatPool" name="jdbc/myTomcatPool"
type="javax.sql.DataSource"/>
</Context>
:
<jee:jndi-lookup id="geoCodeData" jndi-name="java:comp/env/jdbc/myTomcatPool" />
<bean id="geoCodeService" class="com.sample.SampleImpl">
<property name="dataSource" ref="geoCodeData"/>
</bean>
मैं तो फ़ाइल META-INF/context.xml
में इस राशि
मेरा सर्वर त्रुटियों से मुक्त हो जाता है।
जब मैं निम्नलिखित परीक्षण चलाने का प्रयास (जो काम किया इससे पहले कि मैं JNDI कोड जोड़ा):
public class Test {
public static void main(String[] args) {
ApplicationContext ctx =
new ClassPathXmlApplicationContext("spring-context.xml");
}
}
मैं निम्नलिखित त्रुटि मिलती है:
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'geoCodeData': Invocation of init method failed;
nested exception is javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
मेरी विन्यास गलत है या है जिस तरह से मैं परीक्षण को गलत चलाने की कोशिश कर रहा हूं?
यह समझ में आता है। मैंने सोचा कि इसे केवल टेस्ट केस के साथ करना पड़ सकता है। मैं कोशिश करूँगा मैं इसे उत्तर के रूप में चिह्नित करने जा रहा हूं। एक बार फिर धन्यवाद। एक आखिरी सवाल है, तो मैं अपने web.xml में संदर्भ कॉन्फिग्लोकेशन की मेरी सूची में प्रोजेक्ट-डेटासॉर.एक्सएमएल जोड़ूंगा और मेरे उदाहरणों जैसे प्रोजेक्ट-डेटासोर्स-test.xml का उपयोग करूंगा? – blong824
क्या एक चालाक समाधान है! बीटीडब्ल्यू, आप अपने एप कॉन्फ़िगरेशन एक्सएमएल में नव निर्मित बनाई गई डेटासोर्स फ़ाइल का उपयोग कर सकते हैं: ' ' और समान रूप से। चीयर्स! –
acdcjunior