Minulla on sellainen sovellus työn alla, että clientti-appletit ottavat yhteyttä RMI-etäolioon, joka sitten tekee haut kantaan ja laskee tuloksia.
Tämä palvelimella oleva etäolio käyttää hakuihin tavallisia JDBC1-luokkia. Nyt pitäisi hommat saada pelaamaan sillä tavalla, että Connectionia ei tarvitsisi aina kyselyn tullessa avata, vaan haluaisin käyttää connection pooling-tekniikkaa.
Tarviiko minun hommata tätä varten kaupasta jotain kirjastoja, vai tuleeko luokat jdk:n mukana? Kysymyksessä on jdk1.2.2.
Tämä palvelimella oleva etäolio käyttää hakuihin tavallisia JDBC1-luokkia. Nyt pitäisi hommat saada pelaamaan sillä tavalla, että Connectionia ei tarvitsisi aina kyselyn tullessa avata, vaan haluaisin käyttää connection pooling-tekniikkaa.
Tarviiko minun hommata tätä varten kaupasta jotain kirjastoja, vai tuleeko luokat jdk:n mukana? Kysymyksessä on jdk1.2.2.
Vastaukset 4
Vanhimmat
Kävin pari vuotta sitten hakemassa sunin sivuilta tuohon tarkoitukseen tehdyt JDCConnetion.java,JDCConnectionDriver.java ja JDCConnectionPool.java -tiedostot. Sivuilla oli muistaakseni selitetty noiden käyttökin.
Testasin noita oracle-yhteyksissä, ja hyvin ne pelas.
Pooling-luokat on mukana JDK1.4.1:ssä.
Asiaa lisää osoitteessa:
http://java.sun.com/products/jndi/tutorial/ldap/connect/pool.html
Ko. dokumentaatio on LDAP yhteyksien connection poolille, ei siis tietokannoille, josta tässä oli kysymys.
Kannattaa myös miettiä riittääkö sovellukseesi yksi ainoa tietokantayhteys, jolloin poolia ei edes tarvita.
Oman poolin rakentaminen ei sekään ole kovin vaikeaa, lähinnä ongelmia aiheuttavat oikein toteutettu threadien synkronointi, tuosta aiheesta kun näkee huonoja esimerkkejä useimmissa kirjoissakin.
Vilkaisepa tätä:
http://jakarta.apache.org/commons/dbcp/