आप अपने आवेदन के भीतर एच 2 web server चला सकते हैं जो एक ही मेमोरी डेटाबेस में पहुंच जाएगा। आप SquirrelSQL जैसे किसी जेनेरिक जेडीबीसी क्लाइंट का उपयोग कर सर्वर मोड में चल रहे एच 2 तक भी पहुंच सकते हैं।
अद्यतन:
Server webServer = Server.createWebServer("-web,-webAllowOthers,true,-webPort,8082").start();
Server server = Server.createTcpServer("-tcp,-tcpAllowOthers,true,-tcpPort,9092").start();
अब आप एक ही प्रक्रिया के भीतर jdbc:h2:mem:foo_db
URL के द्वारा अपने डेटाबेस से कनेक्ट या localhost:8082
का उपयोग कर foo_db
डेटाबेस ब्राउज़ कर सकते हैं। दोनों सर्वर बंद करना याद रखें। यह भी देखें: H2 database in memory mode cannot be accessed by Console।
तुम भी वसंत का उपयोग कर सकते हैं:
<bean id="h2Server" class="org.h2.tools.Server" factory-method="createTcpServer" init-method="start" destroy-method="stop" depends-on="h2WebServer">
<constructor-arg value="-tcp,-tcpAllowOthers,true,-tcpPort,9092"/>
</bean>
<bean id="h2WebServer" class="org.h2.tools.Server" factory-method="createWebServer" init-method="start" destroy-method="stop">
<constructor-arg value="-web,-webAllowOthers,true,-webPort,8082"/>
</bean>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close" depends-on="h2Server">
<property name="driverClass" value="org.h2.Driver"/>
<property name="jdbcUrl" value="jdbc:h2:mem:foo_db"/>
</bean>
BTW आप केवल मैनुअल डेटाबेस सामग्री देखना पर नहीं कथनों पर निर्भर करते हैं और चाहिए। समस्या निवारण के लिए इसका उपयोग करें।
एनबी। यदि आप स्प्रिंग टेस्ट फ्रेमवर्क का उपयोग करते हैं तो आपको चल रहे लेनदेन द्वारा किए गए परिवर्तन नहीं दिखाई देंगे और यह लेनदेन परीक्षण के तुरंत बाद वापस ले जाया जाएगा।
स्रोत
2011-09-05 14:27:30
मैं त्रुटि है कि "सही" अमान्य विकल्प है मिल गया में इस गयी। क्या -webAllowOthers पैरामीटर लेने के लिए इस्तेमाल किया? नवीनतम एच 2 कोड के साथ, यह कोई पैरामीटर नहीं लेता है। यहां "मुख्य" विधि देखें: http://www.h2database.com/javadoc/org/h2/tools/Server.html – hshib
हमन का उल्लेख किया गया है, नवीनतम संस्करण "सत्य" पैरामीटर स्वीकार नहीं करता है इसलिए इसे हटाएं: '< कन्स्ट्रक्टर-Arg value = "- वेब, -webAllowOthers, -webPort, 8082" /> ' –
नए संस्करण ' सर्वर के अलग-अलग तर्क सम्मेलन का पालन करते हैं।createTcpServer ("- tcpPort", "9092", "-tcpAllowOthers") ' 'सर्वर .createWebServer (" - वेबपोर्ट "," 8082 "," -tcpAllowOthers ")' – Jor