de.mvcsys.rsql
Class RsqlConnectionPool

java.lang.Object
  |
  +--de.mvcsys.renscribe.HostPool
        |
        +--de.mvcsys.rsql.RsqlConnectionPool
All Implemented Interfaces:
Runnable

public class RsqlConnectionPool
extends HostPool

Diese Klasse stellt einen Pool von RsqlConnection-Objekten zur Verfügung


Inner classes inherited from class de.mvcsys.renscribe.HostPool
HostPool.PoolElement
 
Field Summary
protected  String defines
           
 
Fields inherited from class de.mvcsys.renscribe.HostPool
currentSize, elements, hostname, idleThread, idleTime, index, logPathmon, logServer, maxWait, name, password, poolTable, port, port1, port2, size, trace, traceWriter, userid
 
Constructor Summary
RsqlConnectionPool(int size, String hostname, int port1, int port2, String userid, String password, boolean trace)
          Konstruktor - erzeugt einen Pool
RsqlConnectionPool(int size, String hostname, int port1, int port2, String userid, String password, PrintWriter traceWriter)
          Konstruktor - erzeugt einen Pool
RsqlConnectionPool(String name, int size, String hostname, int port1, int port2, String userid, String password, boolean trace)
          Konstruktor - erzeugt einen Pool und trägt ihn in die Pool-Liste ein.
RsqlConnectionPool(String name, int size, String hostname, int port1, int port2, String userid, String password, PrintWriter traceWriter)
          Konstruktor - erzeugt einen Pool und trägt ihn in die Pool-Liste ein.
 
Method Summary
static void config(Properties props)
          Konfiguriere die Pools.
 void deleteConnection(RsqlConnection conn)
          Lösche eine Connection aus dem Pool
 RsqlConnection getConnection()
          Factory für Verbindungen.
 RsqlConnection getConnection(int timeout)
          Factory für Verbindungen
static RsqlConnectionPool getConnectionPool(String name)
          Ermittle einen Pool anhand seines Namens
 String getDefines()
          Gebe den Define-Befehl zurück
protected  Host newHost()
          Aufruf von new RsqlConnection(hostname, port, userid, password, trace) Liefert ein RsqlConnection-Objekt.
 void releaseConnection(RsqlConnection conn)
          Gebe die Connection in den Pool zurück
 void setDefines(String defines)
          Setze den Define-Befehl
 
Methods inherited from class de.mvcsys.renscribe.HostPool
addElement, clearConfig, createHost, deleteHost, finalize, getBoolProperty, getCurrentSize, getElement, getElement, getElements, getHost, getHost, getHostname, getHostPool, getIdleTime, getIndex, getIntProperty, getLogPathmon, getLogServer, getMaxWait, getName, getPassword, getPort, getPort1, getPort2, getProperty, getSize, getUserid, getUserObject, isConfigured, isDebug, releaseHost, run, setDebug, setIdleTime, setLog, setMaxWait, setUserObject, toString
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

defines

protected String defines
Constructor Detail

RsqlConnectionPool

public RsqlConnectionPool(int size,
                          String hostname,
                          int port1,
                          int port2,
                          String userid,
                          String password,
                          boolean trace)
Konstruktor - erzeugt einen Pool
Parameters:
size - Maximale Anzahl der Hosts
hostname - TCP/IP-Adresse des Hosts
port1 - TCP/IP-Port des Hosts (Anfang des Bereichs)
port2 - TCP/IP-Port des Hosts (Ende des Bereichs)
userid - Benutzername
password - Kennwort
trace - Testinformationen auf "renscribe.trc" ausgeben

RsqlConnectionPool

public RsqlConnectionPool(int size,
                          String hostname,
                          int port1,
                          int port2,
                          String userid,
                          String password,
                          PrintWriter traceWriter)
Konstruktor - erzeugt einen Pool
Parameters:
size - Maximale Anzahl der Hosts
hostname - TCP/IP-Adresse des Hosts
port1 - TCP/IP-Port des Hosts (Anfang des Bereichs)
port2 - TCP/IP-Port des Hosts (Ende des Bereichs)
userid - Benutzername
password - Kennwort
traceWriter - Testinformationen auf diesen Writer ausgeben

RsqlConnectionPool

public RsqlConnectionPool(String name,
                          int size,
                          String hostname,
                          int port1,
                          int port2,
                          String userid,
                          String password,
                          boolean trace)
Konstruktor - erzeugt einen Pool und trägt ihn in die Pool-Liste ein.
Parameters:
size - Maximale Anzahl der Hosts
hostname - TCP/IP-Adresse des Hosts
port1 - TCP/IP-Port des Hosts (Anfang des Bereichs)
port2 - TCP/IP-Port des Hosts (Ende des Bereichs)
userid - Benutzername
password - Kennwort
trace - Testinformationen auf "renscribe.trc" ausgeben

RsqlConnectionPool

public RsqlConnectionPool(String name,
                          int size,
                          String hostname,
                          int port1,
                          int port2,
                          String userid,
                          String password,
                          PrintWriter traceWriter)
Konstruktor - erzeugt einen Pool und trägt ihn in die Pool-Liste ein.
Parameters:
size - Maximale Anzahl der Hosts
hostname - TCP/IP-Adresse des Hosts
port1 - TCP/IP-Port des Hosts (Anfang des Bereichs)
port2 - TCP/IP-Port des Hosts (Ende des Bereichs)
userid - Benutzername
password - Kennwort
traceWriter - Testinformationen auf diesen Writer ausgeben
Method Detail

config

public static void config(Properties props)

Konfiguriere die Pools.

Beispiel einer Konfigurationsdatei für einen Pool:

  #
  #  rsql.properties - 1 Pool
  #
  host=hp001
  port=741
  userid=GROUP.USER
  password=geheim
  trace=false
  poolsize=4
  maxwait=500
  idletime=600
  defines=LOADINFO $SYSTEM.DATENBNK.DEFINFO
  

Der Pool bekommt den Namen "rsql".

Beispiel einer Konfigurationsdatei für mehrere Pools:

  #
  #  rsql.properties
  #

  # Allgemeine Informationen

  host=hp001
  port1=741
  port2=741
  userid=GROUP.USER
  password=geheim
  trace=false
  defines=LOADINFO $SYSTEM.DATENBNK.DEFINFO

  # Pool Definitionen

  poolcount=2
  poolname.1=read
  poolname.2=update

  # Lese-Pool "read"

  read.poolsize=4
  read.maxwait=500
  read.idletime=600

  # Schreib-Pool "update"

  update.poolsize=1
  update.maxwait=5000
  update.idletime=600
  update.trace=true
  update.logpathmon=$PM
  update.logserver=R-LOGGER
  
Parameters:
props - Objekt mit den Konfigurationsdaten

deleteConnection

public void deleteConnection(RsqlConnection conn)
                      throws IllegalArgumentException
Lösche eine Connection aus dem Pool
Parameters:
conn - RsqlConnection aus dem Pool
Throws:
IllegalArgumentException - Host wurde nicht gefunden

getConnection

public RsqlConnection getConnection()
                             throws IOException
Factory für Verbindungen. Die Wartezeit wird aus HostPool.maxWait übernommen
Throws:
IOException - Allgemeiner Kommunikationsfehler

getConnection

public RsqlConnection getConnection(int timeout)
                             throws IOException
Factory für Verbindungen
Parameters:
timeout - Maximale Wartezeit in Millisekunden
Returns:
eine Verbindung mit den gespeicherten Parametern
Throws:
IOException - Allgemeiner Kommunikationsfehler

getConnectionPool

public static RsqlConnectionPool getConnectionPool(String name)
Ermittle einen Pool anhand seines Namens
Parameters:
name - - Poolname aus der Pool-Liste
Returns:
der Pool

getDefines

public String getDefines()
Gebe den Define-Befehl zurück
Returns:
Befehl für Host.loadDefines(java.lang.String)

newHost

protected Host newHost()
                throws IOException

Aufruf von new RsqlConnection(hostname, port, userid, password, trace)

Liefert ein RsqlConnection-Objekt.
Overrides:
newHost in class HostPool

releaseConnection

public void releaseConnection(RsqlConnection conn)
                       throws IllegalArgumentException
Gebe die Connection in den Pool zurück
Parameters:
conn - Host, die vorher aus dem Pool entnommen wurde
Throws:
IllegalArgumentException - Host wurde nicht gefunden

setDefines

public void setDefines(String defines)
Setze den Define-Befehl
Parameters:
defines - Befehl für Host.loadDefines(java.lang.String)


Copyright ¸ 2002 MvC Systemsoftware.