Back to site

MiniConnectionPoolManager - kevyt standalone Java JDBC-yhteyden ryhmittymän johtaja

Source: http://www.source-code.biz/miniconnectionpoolmanager/

Vakio Java kirjasto (JDK 1.5) ei ole yhteyttä allas johtaja JDBC tietokantayhteyksien. On avoimen lähdekoodin yhteys pool johtajat, kuten:

mutta nämä ovat valtavan monimutkaisia ​​paketteja.

Modern JDBC ajurit tarjoavat toteutukset ConnectionPoolDataSource ja PooledConnection. Näin on mahdollista rakentaa paljon pienempi yhteys ryhmittymän johtaja. Jos sinun tarvitsee vain yhteyden yhdistämisen, MiniConnectionPoolManager voisi olla oikea valinta.

MiniConnectionPoolManager voidaan käyttää Java servlettejä sekä Java sovelluksina. Se vain vaatii Java 1.5 tai uudempi (tai 1,6 jos käytät getValidConnection ()) eikä sillä ole riippuvaisia ​​muiden paketteja.

API dokumentaatio: MiniConnectionPoolManager.html
Lähdekoodi: MiniConnectionPoolManager.java
Lataa koko paketti:  miniConnectionPoolManager.zip
Lähdekoodi repository: selaa/Subversion URL
   
Related työ 1: org.opensolaris.db.DbDataSource (Alan Burlison) DataSource kääre luokan MiniConnectionPoolManager, joita voidaan käyttää JSP SQL tunnisteet.
Liittyvät työ 2: org.h2.jdbcx.JdbcConnectionPool (lähdekoodi), versio MiniConnectionPoolManager back-portattu Java 1.4 ja mukautettu H2 Thomas Muller.
Related työssä 3: Laajennettu versio Daniel Jurado: Tämä versio MiniConnectionPoolManager sulkeutuu käyttämättömät yhteydet jälkeen aikakatkaisun.

Esimerkkejä miten MiniConnectionPoolManager luokka

For H2 (upotettu tila):


org.h2.jdbcx.JdbcDataSource DataSource = new org.h2.jdbcx.JdbcDataSource ();

dataSource.setURL ("JDBC: H2: file: C:/ temp / testDB");

MiniConnectionPoolManager poolMgr = new MiniConnectionPoolManager (DataSource, maxConnections);

...

Liitäntä = poolMgr.getConnection ();

...

connection.close ();

Apache Derby (upotettu tila):


org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource DataSource = new org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource ();

dataSource.setDatabaseName ("c:/ temp / testDB");

dataSource.setCreateDatabase ("luoda");

MiniConnectionPoolManager poolMgr = new MiniConnectionPoolManager (DataSource, maxConnections);

...

Liitäntä = poolMgr.getConnection ();

...

connection.close ();

For JTDS:


net.sourceforge.jtds.jdbcx.JtdsDataSource DataSource = new net.sourceforge.jtds.jdbcx.JtdsDataSource ();

dataSource.setDatabaseName ("Northwind ');

dataSource.setServerName ("localhost ');

dataSource.setUser ("sa");

dataSource.setPassword ("seesami ');

MiniConnectionPoolManager poolMgr = new MiniConnectionPoolManager (DataSource, maxConnections);

...

Liitäntä = poolMgr.getConnection ();

...

connection.close ();

Jos Microsoft SQL Server-ohjain:


com.microsoft.sqlserver.jdbc.SQLServerXADataSource DataSource = new com.microsoft.sqlserver.jdbc.SQLServerXADataSource ();

/ / Sqljdbc 1,1 dokumentaatio, kappale "Using Connection jakava", suosittelee käyttämään SQLServerXADataSource

/ / Sijasta SQLServerConnectionPoolDataSource.

dataSource.setDatabaseName ("Northwind ');

dataSource.setServerName ("localhost ');

dataSource.setUser ("sa");

dataSource.setPassword ("seesami ');

MiniConnectionPoolManager poolMgr = new MiniConnectionPoolManager (DataSource, maxConnections);

...

Liitäntä = poolMgr.getConnection ();

...

connection.close ();

Oracle (esimerkiksi Thin kuljettajaa):


oracle.jdbc.pool.OracleConnectionPoolDataSource DataSource = new oracle.jdbc.pool.OracleConnectionPoolDataSource ();

dataSource.setDriverType ("ohut");

dataSource.setServerName ("server1.yourdomain.com ');

dataSource.setPortNumber (1521);

dataSource.setServiceName ("db1.yourdomain.com ');

dataSource.setUser ("järjestelmä");

dataSource.setPassword ("seesami ');

MiniConnectionPoolManager poolMgr = new MiniConnectionPoolManager (DataSource, maxConnections);

...

Liitäntä = poolMgr.getConnection ();

...

connection.close ();

For MaxDB:


com.sap.dbtech.jdbcext.ConnectionPoolDataSourceSapDB DataSource = new com.sap.dbtech.jdbcext.ConnectionPoolDataSourceSapDB ();

dataSource.setDatabaseName ("dbname ');

dataSource.setServerName ("dbhost ');

dataSource.setUser ("käyttäjä");

dataSource.setPassword ("salasana");

MiniConnectionPoolManager poolMgr = new MiniConnectionPoolManager (DataSource, maxConnections);

...

Liitäntä = poolMgr.getConnection ();

...

connection.close ();

(Toimii MaxDB 7,7 kuljettaja, joka pystyy yhteyden vanhempien DB versiot. Versio 7.6 on bugi. Kiitos Joe (fischauto333) ja osuus MaxDB palanen.)

Suunnittelumallin kanssa työskentelyyn JDBC yhteyksien

On tärkeää käyttää virhe-sen varmistamiseksi, että liitäntä-ja selvitys esitetään aina suljettuna, vaikka poikkeus ilmenee.

esimerkki


public static String getFirstName (int personKey) throws Exception {

   Connection yhteys = null;

   PreparedStatement lausuman = null;

   try {

      yhteys = poolMgr.getConnection ();

      lopullinen String sql = "SELECT Etunimi ihmisestä missä personKey =?";

      lausuma = connection.prepareStatement (sql);

      statement.setInt (1, personKey);

      ResultSet rs = statement.executeQuery ();

      Jos (!rs.next ()) {

         throw new Exception ("Henkilö ei löydy");}

      tuotto rs.getString (1);}

    Lopuksi {

      if (ilmoitus!= Null) {

         statement.close ();}

      if (yhteys!= Null) {

         connection.close ();}}}

translated by OL
Published (Last edited): Apr 11