2010-04-09 8 views
13

यहाँ बिल्ला स्टार्टअप लॉग के संबंधित भाग है:बिलाव JDBC ड्राइवर लोड हो रहा है की वजह से शुरू करने के लिए विफल रहता है

SEVERE: Context [/f360] startup failed due to previous errors 
Apr 8, 2010 6:45:56 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc 
SEVERE: A web application registered the JBDC driver [org.apache.derby.jdbc.ClientDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered. 
Apr 8, 2010 6:45:56 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc 
SEVERE: A web application registered the JBDC driver [oracle.jdbc.OracleDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered. 
Apr 8, 2010 6:45:56 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc 
SEVERE: A web application registered the JBDC driver [com.microsoft.sqlserver.jdbc.SQLServerDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered. 

समस्या यह है कि यह कारण बनता है यह मूल रूप से का कारण बनता है कि वेब अनुप्रयोग ठीक से प्रारंभ करेंगे करने में विफल रहा है।

कोई विचार यह कैसे ठीक करें?

+0

स्टार्टअप * पिछले * त्रुटियों के कारण विफल रहा है। कृपया उन त्रुटियों को शामिल करने के लिए अपने प्रश्न को अपडेट करें। वे इस समस्या के ** मूल कारण ** हैं। – BalusC

+0

समस्या यह है कि इससे पहले कोई त्रुटि सूचीबद्ध नहीं है। केवल INFO संदेश हैं। –

उत्तर

4

जेडीबीसी ड्राइवरों के संबंध में सेव संदेश डीबीसीपी मुद्दे के कारण होते हैं। देखें DBCP-332

+0

डीबीसीपी का हिस्सा कहां है? बिलाव? मेरे पास टॉमकैट 6/जेडीके 6/मैकोज़ एक्स के साथ त्रुटि है, लेकिन यह (पोस्टग्रेस + जेडीबीसी का उपयोग कर एक ही एप्लीकेशन) टॉमकैट/जेडीके 6/विनएक्सपी पर ठीक चलता है। धन्यवाद! –

+0

संदर्भ rgielen के लिए धन्यवाद। उस स्पष्टीकरण को समझ में आया। –

5

यदि यह डीबीसीपी समस्या है तो टॉमकैट को रोकें, किसी भी शेष प्रक्रिया को मार दें (यदि आपके पास एक से अधिक टोमकैट चल रहे हैं), तो tomcat temp निर्देशिका (और शायद कार्य निर्देशिका) हटाएं और पुनः प्रयास करें।

+0

यह वास्तव में मेरी मदद की। मैंने टोमकैट, रिबूटिंग, सब कुछ मारने की कोशिश की। जब मैंने बंद कर दिया, तो temp dir को हटा दिया, और फिर बैक अप शुरू किया, सब कुछ काम किया :-) धन्यवाद! – jpswain

6

स्पष्ट रूप से यह जेडीबीसी प्रदाता ढेर में एक बग है। लेकिन वैसे भी, मैं जेट्टी में कुछ इसी तरह कोड का इस्तेमाल किया:}

public class CleanupContextListener implements ServletContextListener { 
@Override 
public void contextDestroyed(ServletContextEvent servletContextEvent) { 
    Logger logger = Logger.getLogger("CleanupContextListener"); 
    Enumeration<Driver> drivers = DriverManager.getDrivers(); 
    while (drivers.hasMoreElements()) { 
     Driver driver = drivers.nextElement(); 
     ClassLoader driverclassLoader = driver.getClass().getClassLoader(); 
     ClassLoader thisClassLoader = this.getClass().getClassLoader(); 
     if (driverclassLoader != null && thisClassLoader != null && driverclassLoader.equals(thisClassLoader)) { 
      try { 
       logger.warn("Deregistering: " + driver); 
       DriverManager.deregisterDriver(driver); 
      } catch (SQLException e) { 
       e.printStackTrace(); 
      } 
     } 
    } 
} 
@Override 
public void contextInitialized(ServletContextEvent servletContextEvent) {}  

4

कभी कभी विशेष रूप से जब बिलाव पर स्प्रिंग अनुप्रयोग का उपयोग, त्रुटि संदेश भ्रामक है - जब वहाँ पर किसी भी JDBC ड्राइवर की त्रुटियों से कोई संबंध नहीं है सब कुछ केवल कुछ अनुप्रयोग बीन इनिट-विधि (या @ पोस्टकस्ट्रक्चर) की विफलता है। त्रुटि स्टैक ट्रेस छुपा हुआ है और केवल टॉमकैट/लॉग/localhost.xxx फ़ाइल में दिखाई देता है। बस इस व्यवहार से अवगत रहें। यह मुझे बहुत समय लगा।

सादर, Yosi लेव

+0

यह सच है। मेरे Grails एप्लिकेशन (जो स्प्रिंग फ्रेमवर्क का उपयोग करता है) को तैनात करते समय इसमें conf/DataSource.groovy फ़ाइल में संकलित डेटाबेस पासवर्ड होता है। बेशक मैं गलत पासवर्ड का उपयोग कर रहा था लेकिन रिपोर्ट की गई एकमात्र त्रुटि जेडीबीसी चालक का यह विचित्र पंजीकरण था। कोई अन्य डेटाबेस त्रुटि लॉग है। सभी डेटाबेस स्टार्टअप संचालन वर्बोज़ लॉग इन करने के लिए स्प्रिंग के लिए एक विकल्प होना चाहिए। –

+0

यह सच है। वास्तविक कारण jdbc के बारे में कुछ भी नहीं है। – flower

+0

यह मुझे घंटे खर्च! धन्यवाद योसी लेव – FuzZ63

संबंधित मुद्दे