sql >> Databáze >  >> RDS >> Oracle

Existuje nějaký způsob, jak zajistit, aby se fond připojení JBoss znovu připojil k Oracle, když se připojení pokazí?

I když můžete použít starý trik „vyberte 1 z duálního“, jeho nevýhodou je, že pokaždé, když si vypůjčíte připojení z fondu, vydá další dotaz. U velkých objemů je to plýtvání.

JBoss poskytuje speciální validátor připojení, který by měl být použit pro Oracle:

<valid-connection-checker-class-name>
    org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker
</valid-connection-checker-class-name>

To využívá proprietární metodu ping() na třídě Oracle JDBC Connection a používá základní síťový kód ovladače k ​​určení, zda je připojení stále aktivní.

Je však stále zbytečné spouštět to pokaždé, když je připojení vypůjčeno, takže možná budete chtít použít zařízení, kde vlákno na pozadí kontroluje připojení ve fondu a tiše zahazuje mrtvá. To je mnohem efektivnější, ale znamená to, že pokud se spojení provedou mrtvé, jakýkoli pokus o jejich použití před spuštěním kontroly vlákna na pozadí selže.

Informace o tom, jak nakonfigurovat kontrolu na pozadí, naleznete ve wiki dokumentaci (hledejte background-validation-millis ).



  1. Oracle:OALL8 je v nekonzistentním stavu

  2. Chyba syntaxe dotazu Postgres sql z phpPgAdmin

  3. Tuning:Dobré místo pro začátek

  4. Jak jarní úklid databáze