2011-04-14 19 views
11

Bazı donanım terminallerine ve ağlarına bağlanmak için bir API kullanıyorum. API, sunuculara bağlanmamı, JDBC bağlantısının yapmanıza izin verdiğine oldukça benzeyen veri bağlantısını kesmemeyi ve sorgulamamı sağlar. Her neyse, bu JDBC Bağlantı arabirimini kullanmıyor olduğundan, zaten var olan bir havuz havuzunu kullanamıyorum. Halihazırda mevcut olanı kullanabiliyorsam veya tek başına küçük bir adaptör kurabiliyorsam, kendimden bir tane yazmaktan kaçınmak istiyorum. Bağlantı havuzunu kullanmamı sağlayan, bağlantılarımı halledebilecek herhangi bir çerçeve/kütüphaneyi bilen herkes, bağlantının her zaman canlı olmasını sağlayabilir mi?bağlantı havuzu (jdbc olmayan)

Commons Pool'a baktım, ancak bu sadece bağlantılarınızı koymak/almak için birkaç sınıf sunuyor ... bakım görevlerinden herhangi birini yapmıyor vb. (Zaman zaman bağlantının geçersiz olup olmadığını kontrol edin, yeniden bağlan vb). Bunu zaten yapan herhangi bir şey olmaması durumunda, herhangi bir sorun varsa, bağlantı kontrolünün ve yeniden bağlanmanın mekanizmasını ekleyebilirim.

Şerefe, Stef.

+0

upvoting -hGx Arayüz daha sonra Apache Commons Pool sizin için en iyi seçenek olabilir. –

cevap

4

Apache Commons Pool aslında bir parametre olarak geçirmek suretiyle fiili havuz uygulaması ile kullanmak PoolableObjectFactory sınıfında, onları dağıttığı önce geçerliliği nesneleri oluşturma tahrip ve kontrol destekler:

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

Bunu zaten yaptı. –

+0

@Joachim: Ouch. Teşekkürler. – Henning

+0

Sevgili downvoter: Bu cevap aslında problemi çözdüğü için, belki de ayrıntılandırmak için çok nazik olabilirsiniz? – Henning

0
Sen içine bakabilirsiniz

dbcp http://commons.apache.org/dbcp/

o BasicDataSource vb maxWait maxActive, maxIdle, daha http://commons.apache.org/dbcp/apidocs/org/apache/commons/dbcp/BasicDataSource.html

belgelerine kontrol gibi yöntemleri sağlamak oluyor Yeni uygulama için gidiyoruz eğer

ilginç bir erkek kedi 7 JDBC bağlantı havuzu deneyin http://people.apache.org/~fhanik/jdbc-pool/jdbc-pool.html

[değiştir] o ANLAMINDA çevresindeki bazı büyük topluluk yoksa senaryo için yararsız öylesine Henning yazı

+1

Sorunun tamamı, havuzun JDBC bağlantıları içermemesidir. – Henning

+0

Anlamıyorum, "Sorunun tüm noktası, havuzun JDBC bağlantıları içermemesidir"? bağlantı havuzundan bahsetmiyor mu? – zudokod

+1

Sorunun temeli, _non-JDBC_ bağlantılarını birleştirmek istediği için, JDBC 'DataSource' havuzlarından hiçbirini kullanamayacaktır. – Henning

İlgili konular