Ovladač MySQL JDBC má funkci automatického znovupřipojení, která může být příležitostně užitečná; viz "Ovladač/zdroj dat Názvy tříd, syntaxe URL a vlastnosti konfigurace pro konektor/J “ a přečtěte si upozornění.
Druhou možností je použití fondu připojení JDBC.
Třetí možností je provést dotaz, který otestuje, že vaše připojení je na začátku každé transakce stále aktivní. Pokud připojení není aktivní, zavřete jej a otevřete nové připojení. Běžný dotaz je SELECT 1
. Viz také:
Jednoduchým řešením je změnit vlastnosti konfigurace MySQL tak, aby se timeout nečinnosti relace nastavil na opravdu velké číslo. Nicméně:
- To nepomůže, pokud vaše aplikace bude pravděpodobně nečinná po opravdu dlouhou dobu.
- Pokud z vaší aplikace (nebo jiné aplikace) unikají připojení, zvýšení časového limitu nečinnosti může znamenat, že ztracená připojení zůstanou otevřená po neomezenou dobu... což není dobré pro využití paměti databáze.