2009-03-30 6 views
7

Die Oracle-Datenquelle gibt Nullverbindung zurück, wenn die Anzahl der Verbindungsanforderungen größer ist. Ich habe den implict Cache aktiviert. Die Oracle-Spezifikationen sagt, dass null nur zurückgegeben wird, ist ConnectionWaitTimeout festgelegt. Ich habe keinen Wert für ConnectionWaitTimeout in den Cache-Eigenschaften festgelegt. DieseOracle-Datenquelle, die Nullverbindung zurückgibt

ist, was die Spezifikation sagt über

ConnectionWaitTimeout

Gibt Verhalten Cache, wenn eine Verbindung angefordert wird, und es sind bereits MaxLimit Verbindungen aktiv. Wenn ConnectionWaitTimeout größer als Null ist, wartet jede Verbindungsanforderung für die angegebene Anzahl von Sekunden oder bis eine Verbindung zum Cache zurückgegeben wird. Wenn vor Ablauf des Zeitlimits keine Verbindung zum Cache zurückgegeben wird, gibt die Verbindungsanforderung null zurück.

Standard: 0 (kein Timeout)

Was sind andere possiblies, wo die Datenquelle eine Null-Verbindung zurückkehren könnte?

Antwort

2

Ich denke, die Standardeinstellung kann variieren, je nachdem, welche Version von Oracle Sie verwenden. Einige der Informationen sind widersprüchlich, z. Orakel "Optimizing Connection Pool Behavior" bedeutet, dass der Standardwert 3 Sekunden (11 g?) Beträgt, während andere Quellen angeben, dass es null ist, wie in der Frage erwähnt.

Ich würde vorschlagen, es explizit auf Null setzen und sehen, ob das Verhalten immer noch manifestiert.

0

Ich habe versucht, diesen Wert einzustellen. Obwohl die Dokumentation besagt, dass der Standardwert keine Zeitüberschreitung ist, gab die Datenquelle bei der Einstellung dieser Eigenschaft null zurück. Als ich explizit einen Wert für die Verbindung festlegte, gab mir der Wert 0 sogar eine Nullverbindung.

Verwandte Themen