2011-04-14 14 views
11

के लिए कनेक्शन पूल मैं कुछ हार्डवेयर टर्मिनलों और नेटवर्क से कनेक्ट करने के लिए एक एपीआई का उपयोग कर रहा हूं। एपीआई मुझे सर्वर से कनेक्ट करने, डिस्कनेक्ट करने और डेटा के लिए पूछताछ करने की अनुमति देता है, जो जेडीबीसी कनेक्शन आपको करने की अनुमति देता है। वैसे भी, चूंकि यह जेडीबीसी कनेक्शन इंटरफ़ेस का उपयोग नहीं कर रहा है, इसलिए मैं पहले से मौजूद कनेक्शन पूलिंग का उपयोग नहीं कर सकता। यदि मैं पहले से मौजूद किसी का उपयोग कर सकता हूं, या शायद उसके ऊपर एक छोटा एडाप्टर बना सकता हूं तो मैं खुद को लिखने से बचना चाहता हूं। कोई भी किसी भी ढांचे/पुस्तकालय के बारे में जानता है जो मुझे कनेक्शन पूलिंग सक्षम करने की अनुमति देगा, जो मेरे कनेक्शन को संभाल सकता है, यह सुनिश्चित कर सकता है कि कनेक्शन हर समय जिंदा है?मालिकाना कनेक्शन एपीआई (गैर जेडीबीसी)

मैंने कॉमन्स पूल को देखा है, लेकिन यह आपको केवल अपने कनेक्शन रखने/प्राप्त करने के लिए कुछ कक्षाएं देता है ... यह रखरखाव कार्यों आदि में से कोई भी नहीं करता है (जांचें कि समय-समय पर कनेक्शन अमान्य है या नहीं, पुनः कनेक्ट आदि)। मैं उस पर शीर्ष पर जोड़ सकता हूं, यदि कनेक्शन की जांच और पुन: कनेक्ट करने की व्यवस्था हो तो कोई समस्या नहीं है, यदि वहां कुछ भी नहीं है जो पहले से ही ऐसा करता है।

चीयर्स, स्टीफ।

+0

upvoting -hGx अगर वहाँ है कि मालिकाना आसपास कुछ बड़ा समुदाय नहीं है इंटरफ़ेस तब अपाचे कॉमन्स पूल आपकी सबसे अच्छी शर्त हो सकती है। –

उत्तर

4

Apache Commons Pool वास्तव में, बनाने को नष्ट करने और उन्हें PoolableObjectFactory वर्ग है, जो आप एक पैरामीटर के रूप में यह पारित करके वास्तविक पूल कार्यान्वयन के साथ उपयोग करने के साथ बाहर सौंपने से पहले वैधता के लिए वस्तुओं की जाँच का समर्थन करता है:

final PoolableObjectFactory objectFactory = new MyPoolableObjectFactoryImpl(); 
final ObjectPool pool = new GenericObjectPool(objectFactory); 
+0

उसने पहले ही ऐसा किया है। –

+0

@ जोचिम: ओच। धन्यवाद। – Henning

+0

प्रिय डाउनवॉटर: चूंकि यह उत्तर वास्तव में समस्या हल करता है, हो सकता है कि आप विस्तृत करने के लिए बहुत दयालु हो सकते हैं? – Henning

0

आप गौर कर सकते हैं DBCP http://commons.apache.org/dbcp/

यह BasicDataSource ऐसे maxActive, maxIdle, maxWait आदि अधिक http://commons.apache.org/dbcp/apidocs/org/apache/commons/dbcp/BasicDataSource.html

के दस्तावेज़ देखने के रूप में विधियां उपलब्ध करा रहा है

दिलचस्प एक अगर आप नए कार्यान्वयन के लिए जा रहे हैं बिल्ला कनेक्शन पूल 7 JDBC कोशिश http://people.apache.org/~fhanik/jdbc-pool/jdbc-pool.html

[संपादित करें] परिदृश्य के लिए बेकार तो हेनिंग की पोस्ट

+1

प्रश्न का पूरा बिंदु यह है कि पूल में जेडीबीसी कनेक्शन नहीं हैं। – Henning

+0

मुझे समझ में नहीं आता, "सवाल का पूरा बिंदु यह है कि पूल में जेडीबीसी कनेक्शन नहीं हैं"? क्या वह कनेक्शन पूलिंग के बारे में उल्लेख नहीं कर रहा है? – zudokod

+1

प्रश्न का आधार यह है कि वह _non-JDBC_ कनेक्शन को पूल करना चाहता है, इसलिए वह किसी भी जेडीबीसी 'डेटासोर्स 'पूल का उपयोग करने में सक्षम नहीं होगा। – Henning

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