!--a11y-->
Verbindung anfordern und freigeben 
...
1. Wird eine aktuelle Verbindung vom Connection Pool benötigt, können Sie diese anfordern, einen oder mehrere Funktionsaufrufe im SAP Server ausführen und schließlich die Verbindung wieder an den Connection Pool zurückgeben (freigeben). Die Methode getClient() wird verwendet um eine Verbindung anzufordern.
2. Wenn alle Verbindungen in einem Pool vergeben sind und der Pool seine maximale Größe erreicht hat, wartet SAP JCo eine bestimmte Zeit (Defaultwert: 30 Sekunden). Wenn innerhalb dieses Zeitraums weiterhin keine Verbindung verfügbar ist, wird eine Ausnahmemeldung (JCO.Exception.JCO_ERROR_RESOURCE.)ausgegeben.
Den Defaultwert für die
Wartezeit können Sie mit der Methode setMaxWaitTime() ändern, die für PoolManager wie auch für individuelle
JCO.Pool Objekte verfügbar ist. Der neue Wert wird in Millisekunden
übergeben.
3. Nach erfolgreichem Funktionsaufruf wird die Verbindung mit der Methode releaseClient() wieder freigegeben.
Dies geschieht normalerweise in
einem finally Block, damit die Methode in jedem Fall ausgeführt wird,
unabhängig davon, ob eine Exception ausgegeben wurde oder nicht.
Andernfalls könnte die Nicht-Freigabe dazu führen, dass nicht mehr genug
Verbindungen im Connection Pool verfügbar sind.

mConnection = JCO.getClient (POOL_NAME);
|
System.out.println (mConnection.getAttributes () ); }
catch (Exception ex) { ex.printStackTrace (); } finally { JCO.releaseClient (mConnection); } |
Aus SAP-Server Sicht beginnt
eine Session mit dem Aufruf von getClient() und
endet mit releaseClient(). Wenn Sie verschiedene RFMs in Folge aufrufen
wollen, ohne dass in dieser Zeit eine Interaktion von dritter Seite erfolgt,
sollten Sie die Verbindung so lange halten, bis die Sequenz ausgeführt wurde
(jedes RFM
ist im SAP Server ein eigener Dialogschritt).
Wenn Sie einen Connection
Pool aufrufen, verwenden Sie nie die Methoden connect() oder
disconnect() aus der Klasse JCO.Client. Die Funktionen werden in
diesem Fall vom PoolManager ausgeführt.
Das komplette Beispielprogramm zum Erstellen eines Connection Pools finden Sie hier: