|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--de.mvcsys.renscribe.HostPool
Diese Klasse stellt einen Pool von Host-Objekten zur Verfügung
Inner Class Summary | |
class |
HostPool.PoolElement
innere Klasse für Hosts |
Field Summary | |
protected int |
currentSize
Aktuelle Größe des Pools |
protected Vector |
elements
Vektor mit aktiven Pool-Elementen |
protected String |
hostname
TCP/IP-Adresse des Hosts |
protected Thread |
idleThread
Der Idle-Thread |
protected long |
idleTime
Idle-Zeit in Milli-Sekunden |
protected int |
index
Index der nächsten zu vergebenden Verbindung |
protected String |
logPathmon
Externer Logger - Pathway-Monitor |
protected String |
logServer
Externer Logger - Serverklasse |
protected int |
maxWait
Warte-Zeit in Milli-Sekunden |
protected String |
name
Name des Pools |
protected String |
password
Kennwort |
protected static Hashtable |
poolTable
Verwaltung mehrerer Pools mit Namen |
protected int |
port
TCP/IP-Port des Hosts (letzter benutzer Port) |
protected int |
port1
TCP/IP-Port des Hosts (Anfang des Bereichs) |
protected int |
port2
TCP/IP-Port des Hosts (Ende des Bereichs) |
protected int |
size
Maximale Größe des Pools |
protected boolean |
trace
Trace eingeschaltet? |
protected PrintWriter |
traceWriter
Ausgabe-Writer für den Trace |
protected String |
userid
Benutzername |
Constructor Summary | |
HostPool(int size,
String hostname,
int port1,
int port2,
String userid,
String password,
boolean trace)
Konstruktor - erzeugt einen Pool. |
|
HostPool(int size,
String hostname,
int port1,
int port2,
String userid,
String password,
PrintWriter traceWriter)
Konstruktor - erzeugt einen Pool. |
|
HostPool(String name,
int size,
String hostname,
int port1,
int port2,
String userid,
String password,
boolean trace)
Konstruktor - erzeugt einen Pool |
|
HostPool(String name,
int size,
String hostname,
int port1,
int port2,
String userid,
String password,
PrintWriter traceWriter)
Konstruktor - erzeugt einen Pool |
Method Summary | |
protected HostPool.PoolElement |
addElement()
Erzeuge ein neues Element mit neuer Verbindung |
static void |
clearConfig()
Lösche die alte Konfiguration |
static void |
config(Properties props)
Konfiguriere die Pools. |
protected Host |
createHost()
Erzeuge einen neue Host |
void |
deleteHost(Host conn)
Lösche einen Host aus dem Pool |
void |
finalize()
Finalizer - trennt alle Verbindungen und entfernt den Pool aus der Pool-Liste |
protected static boolean |
getBoolProperty(Properties props,
String poolname,
String property,
boolean defvalue)
Hilfsfunktion zum Lesen einer Boolean-Property |
int |
getCurrentSize()
Rückgabe der aktuellen Größe |
HostPool.PoolElement |
getElement(Host Host)
Zugriff auf den Elemente-Vector |
HostPool.PoolElement |
getElement(int i)
Zugriff auf den Elemente-Vector nach Index |
Enumeration |
getElements()
Rückgabe des Elementvektors als Enumeration |
Host |
getHost()
Factory für Verbindungen. |
Host |
getHost(int timeout)
Factory für Verbindungen |
String |
getHostname()
Rückgabe des Hostnamens |
static HostPool |
getHostPool(String name)
Ermittle einen Pool anhand seines Namens |
int |
getIdleTime()
Rückgabe der Idle-Zeit |
int |
getIndex()
Rückgabe der nächsten verwendeten Host |
protected static int |
getIntProperty(Properties props,
String poolname,
String property,
int defvalue)
Hilfsfunktion zum Lesen einer Integer-Property |
String |
getLogPathmon()
Rückgabe des Log-Pathmon |
String |
getLogServer()
Rückgabe der Log-Serverklasse |
int |
getMaxWait()
Rückgabe der Warte-Zeit |
String |
getName()
Rückgabe des Namens |
String |
getPassword()
Rückgabe des Kennwortes |
int |
getPort()
Rückgabe des zuletzt verwendeten TCP/IP-Ports |
int |
getPort1()
Rückgabe des ersten TCP/IP-Ports |
int |
getPort2()
Rückgabe des zweiten TCP/IP-Ports |
protected static String |
getProperty(Properties props,
String poolname,
String property,
String defvalue)
Hilfsfunktion zum Lesen einer Property |
int |
getSize()
Rückgabe der Größe |
String |
getUserid()
Rückgabe der User-Id |
Object |
getUserObject(Host conn)
Ermittle das UserObject zu einem Host. |
static boolean |
isConfigured()
Teste, ob schon Pools konfiguriert wurden |
boolean |
isDebug()
Debugging eingeschaltet? |
protected Host |
newHost()
Aufruf von new Host(hostname, port, userid, password, trace) .
|
void |
releaseHost(Host conn)
Gebe die Host in den Pool zurück |
void |
run()
Idle-Thread - löscht unbenutzte Verbindungen |
void |
setDebug(boolean trace)
Setzen von trace |
void |
setIdleTime(int seconds)
Setze die Idle-Zeit in Sekunden |
void |
setLog(String pathmon,
String server)
Setze den Log-Prozess. |
void |
setMaxWait(int maxWait)
Setze die Warte-Zeit |
void |
setUserObject(Host conn,
Object obj)
Speichere ein UserObject zusammen mit einem Host. |
String |
toString()
toString fuer Debugging |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
protected int currentSize
protected Vector elements
protected String hostname
protected Thread idleThread
protected long idleTime
protected int index
protected String logPathmon
protected String logServer
protected int maxWait
protected String name
protected String password
protected static Hashtable poolTable
protected int port
protected int port1
protected int port2
protected int size
protected boolean trace
protected PrintWriter traceWriter
protected String userid
Constructor Detail |
public HostPool(int size, String hostname, int port1, int port2, String userid, String password, boolean trace)
size
- Maximale Anzahl der Hostshostname
- TCP/IP-Adresse des Hostsport1
- TCP/IP-Port des Hosts (Anfang des Bereichs)port2
- TCP/IP-Port des Hosts (Ende des Bereichs)userid
- Benutzernamepassword
- Kennworttrace
- Testinformationen auf "renscribe.trc" ausgebenpublic HostPool(int size, String hostname, int port1, int port2, String userid, String password, PrintWriter traceWriter)
size
- Maximale Anzahl der Hostshostname
- TCP/IP-Adresse des Hostsport1
- TCP/IP-Port des Hosts (Anfang des Bereichs)port2
- TCP/IP-Port des Hosts (Ende des Bereichs)userid
- Benutzernamepassword
- KennworttraceWriter
- Testinformationen auf diesen Writer ausgebenpublic HostPool(String name, int size, String hostname, int port1, int port2, String userid, String password, boolean trace)
name
- Name des Pools, wird in die Pool-Liste eingetragensize
- Maximale Anzahl der Hostshostname
- TCP/IP-Adresse des Hostsport1
- TCP/IP-Port des Hosts (Anfang des Bereichs)port2
- TCP/IP-Port des Hosts (Ende des Bereichs)userid
- Benutzernamepassword
- Kennworttrace
- Testinformationen auf "renscribe.trc" ausgebenpublic HostPool(String name, int size, String hostname, int port1, int port2, String userid, String password, PrintWriter traceWriter)
name
- Name des Pools, wird in die Pool-Liste eingetragensize
- Maximale Anzahl der Hostshostname
- TCP/IP-Adresse des Hostsport1
- TCP/IP-Port des Hosts (Anfang des Bereichs)port2
- TCP/IP-Port des Hosts (Ende des Bereichs)userid
- Benutzernamepassword
- KennworttraceWriter
- Testinformationen auf diesen Writer ausgebenMethod Detail |
protected HostPool.PoolElement addElement() throws IOException
IOException
- Allgemeiner Kommunikationsfehlerpublic static void clearConfig()
public static void config(Properties props)
Konfiguriere die Pools.
Beispiel einer Konfigurationsdatei für einen Pool:
# # renscribe.properties - 1 Pool # host=hp001 port=741 userid=GROUP.USER password=geheim trace=false poolsize=4 maxwait=500 idletime=600
Der Pool bekommt den Namen "renscribe".
Beispiel einer Konfigurationsdatei für mehrere Pools:
# # renscribe.properties # # Allgemeine Informationen host=hp001 port1=741 port2=741 userid=GROUP.USER password=geheim trace=false # 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
props
- Objekt mit den Konfigurationsdatenprotected Host createHost() throws IOException
IOException
- Allgemeiner Kommunikationsfehlerpublic void deleteHost(Host conn) throws IllegalArgumentException
conn
- Host aus dem PoolIllegalArgumentException
- Host wurde nicht gefundenpublic void finalize()
finalize
in class Object
protected static boolean getBoolProperty(Properties props, String poolname, String property, boolean defvalue)
props
- Das Objekt mit den Konfigurationsdatenpoolname
- Name des Pools (Prefix der Property)property
- Name der Propertydefvalue
- Default-Wertpublic int getCurrentSize()
public HostPool.PoolElement getElement(Host Host) throws IllegalArgumentException
Host
- Hostpublic HostPool.PoolElement getElement(int i)
i
- Index im Vektornull
seinpublic Enumeration getElements()
elements
.elements()
public Host getHost() throws IOException
maxWait
übernommenIOException
- Allgemeiner Kommunikationsfehlerpublic Host getHost(int timeout) throws IOException
timeout
- Maximale Wartezeit in MillisekundenIOException
- Allgemeiner Kommunikationsfehlerpublic String getHostname()
public static HostPool getHostPool(String name)
name
- - Poolname aus der Pool-Listepublic int getIdleTime()
public int getIndex()
protected static int getIntProperty(Properties props, String poolname, String property, int defvalue)
props
- Das Objekt mit den Konfigurationsdatenpoolname
- Name des Pools (Prefix der Property)property
- Name der Propertydefvalue
- Default-Wertpublic String getLogPathmon()
public String getLogServer()
public int getMaxWait()
public String getName()
public String getPassword()
public int getPort()
public int getPort1()
public int getPort2()
protected static String getProperty(Properties props, String poolname, String property, String defvalue)
props
- Das Objekt mit den Konfigurationsdatenpoolname
- Name des Pools (Prefix der Property)property
- Name der Propertydefvalue
- Default-Wertpublic int getSize()
public String getUserid()
public Object getUserObject(Host conn) throws IllegalArgumentException
conn
- eine zuvor aus dem Pool entnommene HostIllegalArgumentException
- die Host stammt nicht
aus dem Poolpublic static boolean isConfigured()
public boolean isDebug()
protected Host newHost() throws IOException
Aufruf von
new Host(hostname, port, userid, password, trace)
.
public void releaseHost(Host conn) throws IllegalArgumentException
conn
- Host, die vorher aus dem Pool entnommen wurdeIllegalArgumentException
- Host wurde nicht gefundenpublic void run()
run
in interface Runnable
public void setDebug(boolean trace)
trace
trace
- true
erzeugt Trace-Ausgabenpublic void setIdleTime(int seconds)
seconds
- Zeit: 0 - Idle-Thread ausschaltenpublic void setLog(String pathmon, String server)
pathmon
- Name des Pathway-Monitorsserver
- Name der Serverklassepublic void setMaxWait(int maxWait)
maxWait
- die maximale Wartezeit beim Anfordern einer Verbindung
in Millisekundenpublic void setUserObject(Host conn, Object obj) throws IllegalArgumentException
conn
- eine zuvor aus dem Pool entnommene Hostobj
- Das zu speichernde UserObject.IllegalArgumentException
- die Host stammt nicht
aus dem Poolpublic String toString()
toString
in class Object
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |