summaryrefslogtreecommitdiff
path: root/java/demo/Database/library/ConnectionPool.java
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2015-03-18 12:58:16 -0230
committerMatthew Newhook <matthew@zeroc.com>2015-03-18 12:58:16 -0230
commit9b7668c7c92cf9cb311fe444cdddb489cd2a219d (patch)
tree5016567c58c81f5654e9d01935e199c6bf4761d2 /java/demo/Database/library/ConnectionPool.java
parentVS add-in & build updates: (diff)
downloadice-9b7668c7c92cf9cb311fe444cdddb489cd2a219d.tar.bz2
ice-9b7668c7c92cf9cb311fe444cdddb489cd2a219d.tar.xz
ice-9b7668c7c92cf9cb311fe444cdddb489cd2a219d.zip
Removed demos.
Moved demoscript to distribution.
Diffstat (limited to 'java/demo/Database/library/ConnectionPool.java')
-rw-r--r--java/demo/Database/library/ConnectionPool.java157
1 files changed, 0 insertions, 157 deletions
diff --git a/java/demo/Database/library/ConnectionPool.java b/java/demo/Database/library/ConnectionPool.java
deleted file mode 100644
index 7e896a1dd99..00000000000
--- a/java/demo/Database/library/ConnectionPool.java
+++ /dev/null
@@ -1,157 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
-//
-// This copy of Ice is licensed to you under the terms described in the
-// ICE_LICENSE file included in this distribution.
-//
-// **********************************************************************
-
-class ConnectionPool
-{
- public synchronized void
- destroy()
- {
- _destroyed = true;
- while(_connections.size() != _nconnections)
- {
- try
- {
- wait();
- }
- catch(InterruptedException e)
- {
- }
- }
-
- while(!_connections.isEmpty())
- {
- java.sql.Connection conn = _connections.removeFirst();
- try
- {
- conn.close();
- }
- catch(java.sql.SQLException e)
- {
- }
- }
- }
-
- public synchronized java.sql.Connection
- acquire()
- {
- while(_connections.isEmpty() && !_destroyed)
- {
- try
- {
- wait();
- }
- catch(InterruptedException e)
- {
- }
- }
- if(_destroyed)
- {
- return null;
- }
- java.sql.Connection conn = _connections.removeFirst();
-
- try
- {
- boolean closed = conn.isClosed();
- if(closed)
- {
- _logger.warning("ConnectionPool: lost connection to database");
- conn = null;
- }
- else
- {
- // Probe the connection with the database.
- java.sql.PreparedStatement stmt = conn.prepareStatement("SELECT 1");
- java.sql.ResultSet rs = stmt.executeQuery();
- rs.close();
- stmt.close();
- }
- }
- catch(java.sql.SQLException e)
- {
- java.io.StringWriter sw = new java.io.StringWriter();
- java.io.PrintWriter pw = new java.io.PrintWriter(sw);
- e.printStackTrace(pw);
- pw.flush();
- _logger.warning("ConnectionPool: lost connection to database:\n" + sw.toString());
-
- conn = null;
- }
-
- // If the connection has been closed, or is otherwise invalid,
- // we need to re-establish the connection.
- while(conn == null)
- {
- if(_trace)
- {
- _logger.trace("ConnectionPool", "establishing new database connection");
- }
- try
- {
- conn = java.sql.DriverManager.getConnection(_url, _username, _password);
- conn.setAutoCommit(false);
- }
- catch(java.sql.SQLException e)
- {
- java.io.StringWriter sw = new java.io.StringWriter();
- java.io.PrintWriter pw = new java.io.PrintWriter(sw);
- e.printStackTrace(pw);
- pw.flush();
- _logger.warning("ConnectionPool: database connection failed:\n" + sw.toString());
- }
- }
- if(_trace)
- {
- _logger.trace("ConnectionPool", "returning connection: " + conn + " " +
- _connections.size() + "/" + _nconnections + " remaining");
- }
- return conn;
- }
-
- public synchronized void
- release(java.sql.Connection connection)
- {
- if(connection != null)
- {
- _connections.add(connection);
- notifyAll();
- }
- }
-
- ConnectionPool(Ice.Logger logger, String url, String username, String password, int numConnections)
- throws java.sql.SQLException
- {
- _logger = logger;
- _url = url;
- _username = username;
- _password = password;
-
- _nconnections = numConnections;
- if(_trace)
- {
- _logger.trace("ConnectionPool", "establishing " + numConnections + " connections to " + url);
- }
- while(numConnections-- > 0)
- {
- java.sql.Connection connection = java.sql.DriverManager.getConnection(url, username, password);
- connection.setAutoCommit(false);
- _connections.add(connection);
- }
- }
-
-
- private Ice.Logger _logger;
- private boolean _trace = true;
- private String _url;
- private String _username;
- private String _password;
- private java.util.LinkedList<java.sql.Connection> _connections = new java.util.LinkedList<java.sql.Connection>();
- private boolean _destroyed = false;
- private int _nconnections;
-}