java - Unable to get JDBC connection in Spring application to MySQL -


मैंने स्प्रिंग में डीबी कॉन्फ़िगरेशन का पालन किया है:

  & lt; bean id = "dataSource" Class = "org.apache.commons.dbcp.BasicDataSource" नष्ट-विधि = "बंद" & gt; & Lt; प्रॉपर्टी नाम = "url" मान = "jdbc: dburl" / & gt; & Lt; संपत्ति नाम = "driverClassName" मान = "com.mysql.jdbc.Driver" / & gt; & Lt; संपत्ति नाम = "उपयोगकर्ता नाम" मान = "उपयोगकर्ता नाम" / & gt; & Lt; संपत्ति नाम = "पासवर्ड" मान = "पासवॉर्फ" / & gt; & Lt; प्रॉपर्टी नाम = "हटाए गए हटाए गए" मान = "सही" / & gt; & Lt; गुण नाम = "प्रारंभिक आकार" मान = "3" / & gt; & Lt; संपत्ति नाम = "अधिकतमअक्टिव" मान = "5" / & gt; & Lt; / सेम ​​& gt;   

डीबी से गुण मूल्यों को लोड करने के लिए अतिरिक्त कॉन्फ़िगरेशन।

  & lt; bean id = "config1" class = "org.apache.commons.configuration.DatabaseConfiguration "& gt; & Lt; constructor-arg प्रकार = "javax.sql.DataSource" रेफरी = "डेटा स्रोत" / & gt; & Lt; कन्स्ट्रक्टर- आर्ग सूचकांक = "1" मान = "tablename1" / & gt; & Lt; कन्स्ट्रक्टर- आर्ग सूचकांक = "2" मान = "स्तंभ नाम" / & gt; & Lt; कन्स्ट्रक्टर- आर्ग सूचक = "3" मान = "स्तंभमान" / & gt; & Lt; / सेम ​​& gt; & Lt; बीन आईडी = "configFactory1" वर्ग = "org.springmodules.commons.configuration.CommonsConfigurationFactoryBean" & gt; & Lt; constructor-arg रेफरी = "config1" / & gt; & Lt; / सेम ​​& gt; & Lt;! - डीबी गुण प्रारंभिक - & gt; & Lt; बीन आईडी = "कॉन्फ़िगरेशन प्लेसहॉल्डर 1" वर्ग = "org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" & gt; & Lt; प्रॉपर्टी नाम = "अनदेखा UnlessolvablePlaceholders" मान = "गलत" / & gt; & Lt; प्रॉपर्टी नाम = "प्रॉपर्टी" ref = "configFactory1" / & gt; & Lt; / सेम ​​& gt; & Lt; बीन आईडी = "config2" class = "org.apache.commons.configuration.DatabaseConfiguration" & gt; & Lt; constructor-arg प्रकार = "javax.sql.DataSource" रेफरी = "डेटा स्रोत" / & gt; & Lt; कन्स्ट्रक्टर- आर्ग सूचक = "1" मान = "tablename2" / & gt; & Lt; कन्स्ट्रक्टर- आर्ग सूचकांक = "2" मान = "स्तंभ नाम" / & gt; & Lt; कन्स्ट्रक्टर- आर्ग सूचक = "3" मान = "स्तंभमान" / & gt; & Lt; / सेम ​​& gt; & Lt; बीन आईडी = "configFactory2" वर्ग = "org.springmodules.commons.configuration.CommonsConfigurationFactoryBean" & gt; & Lt; constructor-arg रेफरी = "config2" / & gt; & Lt; / सेम ​​& gt; & Lt;! - डीबी गुण प्रारंभिक - & gt; & Lt; बीन आईडी = "कॉन्फ़िगरेशन प्लेसहॉल्डर 2" वर्ग = "org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" & gt; & Lt; प्रॉपर्टी नाम = "अनदेखा UnlessolvablePlaceholders" मान = "गलत" / & gt; & Lt; संपत्ति का नाम = "गुण" रिफ = "कॉन्फ़िफिचर 2" / & gt; & Lt; / सेम ​​& gt;   

डीएओ कॉन्फ़िगरेशन जो समस्या देता है:

  & lt;! - डीएओ बीन जो समस्या पैदा कर रहा है - & gt; & Lt; बीन आईडी = "समस्याग्रस्त बीन" वर्ग = "com.example.ProblematicDAOImpl" स्कोप = "सिंगलटन" & gt; & Lt; संपत्ति नाम = "डेटा स्रोत" रिफ = "डेटा स्रोत" / & gt; & Lt; / सेम ​​& gt;   

जब मैं आवेदन प्रारंभ करता हूँ, तो मैं निम्नलिखित पंक्ति में फंस जाता हूं:

  17 फरवरी 2014 15: 39: 58,981 - मुख्य - डेटाबेस - org.springframework Jdbc.core.JdbcTemplate.query (JdbcTemplate.java:691) - तैयार एसक्यूएल क्वेरी निष्पादित 17 फरवरी 2014 15: 39: 58,983 - मुख्य - DEBUG - org.springframework.jdbc.core.JdbcTemplate.execute (JdbcTemplate.java:625) - तैयार एसक्यूएल स्टेटमेंट निष्पादित [एसक्यूएल स्टेटमेंट] 17 फरवरी 2014 15: 39: 59,000 - मुख्य - डिबग - org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection (डेटा स्रोत यूटीली। Java:110) - डेटासॉर्स से जेडीबीसी कनेक्शन प्राप्त करना   

इस लाइन के बाद, आवेदन लटका हुआ है और जवाब नहीं देता। यह या तो अपवाद नहीं फेंकता है

मैंने निम्नलिखित चेक किए हैं:

  • बढ़ी अधिकतम एक्टिव मान।
  • बढ़ी initialsize मूल्य।
  • चेक किया गया - एसक्यूएल स्टेटमेंट को क्वेरी ब्राउज़र में निष्पादित किया जा रहा है।

    ** UPDATE **

    मैं आगे कोड डीबग कर दिया है, कोड <लाइन> पंक्ति में 642 org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.core.JdbcTemplate.execute (तैयार की गई स्टेटीमेंट क्रीटर, तैयार किए गए स्टाटेमेंट कॉलबैक & lt; T & gt;)

    कोड की रेखा ये हैं:

      यदि (this.nativeJdbcExtractor! = नल) {psToUse = this.nativeJdbcExtractor.getNativePreparedStatement (ps); } टी परिणाम = action.doInPreparedStatement (psToUse); // इस लाइन हैंडल पर हैंगिंग्स (पीएस); वापसी परिणाम;    

    मैं आपको मिल गया ¥ ¤ यह अपने आप को हल किया मैं किसी भी पैरामीटर के साथ एक क्वेरी कॉल करने के लिए NamedParameterJdbctemplate का उपयोग कर रहा था। यह वसंत एपीआई में तैयार वक्तव्य निष्पादित करते समय फांसी पर लटकाया गया था। मैंने इसे JdbcTempalte वर्ग में बदल दिया। यह ठीक काम करता है।

Comments

Popular posts from this blog

c - Performance of System() -

python - how we can use ajax() in views.py in django? -

c++ - How to define methods in a base class that only work in derived classes? -