मुझे वर्तमान में एक दिलचस्प समस्या का सामना करना पड़ रहा है।वाडिन और हाइबरनेट - डेटाबेस से कनेक्शन बंद करें
मेरी स्थिति:
- मैं वर्तमान में एक वेब सेवा
- मेरे डेटाबेस के पीछे जावा डर्बी
- मैं उपयोग कर रहा हूँ (मैं ग्रहण में जावा के साथ प्रोग्रामिंग के लिए VAADIN उपयोग कर रहा हूँ) के विकास कर रहा हूँ मेरी डेटाबेस
- मैं वर्तमान में बिलाव v7.0 पर उसे लागू करने से कर रहा हूँ के लिए हाइबरनेट
मेरे समस्या:
- जब मैं अपने कोड में कुछ बदलने (क्या कोई फर्क नहीं पड़ता), सर्वर को पुनः आरंभ किया जा रहा है की आवश्यकता के बिना यह फिर से लोड करना चाहिए - मुझे लगता है कि है कि कुल मिलाकर अपेक्षित व्यवहार है
- सर्वर अनुप्रयोग को पुनः लोड करता है, लेकिन अगर मैं कुछ पर क्लिक करने की कोशिश करता हूं (इसलिए पुनः लोड करने के बाद), उदाहरण के लिए प्रवेश-बटन, मैं कोई त्रुटि मिलती है
त्रुटि संदेश:
कारण: org.hibernate.exception.GenericJDBCException: मूल कारण त्रुटि XSDB6 साथ कनेक्शन] नहीं खोल सका: एक और उदाहरण डर्बी का पहले ही डेटाबेस सी: \ HTML-Ausgabe \ डेटाबेस \ DocumentDB बूट कर चुका है। org.apache.derby.iapi.error.StandardException.newException (अज्ञात स्रोत) पर ...
इस
पर मेरे विचार ऐसा लगता है कि किसी भी तरह से reloading की प्रक्रिया पर कनेक्शन/संदर्भ नष्ट हो नहीं करता है/बंद हाइबरनेट करने के लिए और इतने त्रुटि occures जब सर्वर डेटाबेस
मेरे कोड
से पुन: कनेक्ट करने की कोशिश करता 210मैं एक वर्ग है, हाइबरनेट श्रोता कहा जाता है:
public class HibernateListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent event) {
HibernateUtil.getSessionFactory(); // Just call the static initializer of that class
}
public void contextDestroyed(ServletContextEvent event) {
HibernateUtil.getSessionFactory().close(); // Free all resources
}
}
मेरे hibernate.cfg.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">org.apache.derby.jdbc.EmbeddedDriver</property>
<property name="hibernate.connection.url">jdbc:derby:C:\HTML-Ausgabe\database\DocumentDB;create=true</property>
<property name="hibernate.dialect">org.hibernate.dialect.DerbyDialect</property>
<property name="hibernate.current_session_context_class">thread</property>
<property name="hibernate.hbm2ddl.auto">create-drop</property>
<property name="hibernate.show_sql">true</property>
<mapping class="view.model.database.User"/>
<mapping class="view.model.database.Document"/>
<mapping class="view.model.database.Version"/>
<mapping class="view.model.database.VersionData"/>
</session-factory>
</hibernate-configuration>
मेरे (VAADIN) web.xml, जिसमें मैं के लिए एक "श्रोता" जोड़ा ऊपरी HibernateListener (श्रोता पर पाठ की जाँच करें) दिखाया गया है:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Bachelorprojekt</display-name>
<context-param>
<description>Vaadin production mode</description>
<param-name>productionMode</param-name>
<param-value>false</param-value>
</context-param>
<servlet>
<servlet-name>Bachelorprojekt Application</servlet-name>
<servlet-class>com.vaadin.terminal.gwt.server.ApplicationServlet</servlet-class>
<init-param>
<description>Vaadin application class to start</description>
<param-name>application</param-name>
<param-value>view.view.WebsiteFrame</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Bachelorprojekt Application</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<listener>
<listener-class>view.model.database.HibernateListener</listener-class>
</listener>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
मैं था अनुसंधान, भी हाइबरनेट मंच पर पोस्ट (अब भी एक भी उत्तर के बिना :() और अब इस w पर उससे मिलते-जुलते विषय नहीं मिला ebsite। तो मुझे आशा है कि मैंने कुछ गलत नहीं किया है।
यदि आप में से कोई भी मेरी मदद कर सकता है, तो मैं वास्तव में खुश रहूंगा। वर्तमान में मुझे नहीं पता कि इस त्रुटि को रोकने के लिए क्या बदलना है। और, ज़ाहिर है, अगर मैं इंटरनेट पर इंटरनेट पर हूं, तो मैं हमेशा पूरे सर्वर को पुनरारंभ नहीं कर सकता, अगर मैं कोड की एक पंक्ति बदलता हूं।
धन्यवाद हर जवाब के लिए एक बहुत और सोचा था कि तुम मेरे साथ साझा कर रहे हैं।
हाँ मैं हाइपरएसक्यूएल का उपयोग करता हूं जब मुझे देव के दौरान स्मृति में डीबी की आवश्यकता होती है। मुझे कभी समस्या नहीं दी है। – anataliocs