You are not logged in. This forum allows only logged in users to post. If you want to post in the forum, please log in.
Download
Entwicklung
Konto
Download
Entwicklung
Anmelden
Vergessen Konto/Passwort
Konto erstellen
Sprache
Hilfe
Sprache
Hilfe
×
Anmelden
Anmeldename
Passwort
×
Vergessen Konto/Passwort
Übersetzungsstatus von Deutsch
Kategorie:
Software
Personen
PersonalForge
Magazine
Wiki
Suche
OSDN
>
Finden Software
>
Software Development
>
Debuggers
>
lavansutil
>
Foren
>
Offene Diskussion
>
ClusterStatementの問題点
lavansutil
Beschreibung
Projekt Zusammenfassung
Entwickler-Dashboard
Web-Seite
Entwickler
Bildergalerie
RSS Feed-Liste
Aktivität
Statistiken
Historie
Downloads
Aller Releases-Liste
Statistiken
Quellcode
Quellcode-Repositorys-Liste
CVS
Repository ansehen
Ticket
Ticket-Liste
Liste der Meilensteine
Typenliste
Komponentenliste
Liste der zuletzt benutzten Tickets/RSS
Neue Ticket abschicken
Dokumente
Kommunikation
Foren
Forum-Liste
Hilfe (1)
Offene Diskussion (12)
Mailinglisten
Alle Mailinglisten
Neuigkeiten
Foren:
Offene Diskussion
(Thread #6259)
Zurück zur Thread-Liste
RSS
ClusterStatementの問題点 (2004-10-26 22:38 by
yuk
#11664)
1.タイムアウト待ち
postgresでテストしたところexecuteQueryをかける直前に
DBを落としても、SQLExceptionが発生するまで90秒ほど必要。ちょっと長いなー。
2.setAutoCommit(false)されている場合、単一のStatement
だけフェイルオーバーしても、そのトランザクション内の以前のStatementを再実行しないと意味がない。しかし以前のStatementはすでにclose()されているかもしれないし、パラメータだけ変更して再実行されているかもしれない。
トランザクション内の以前のsql実行をすべて保持して障害時に再実行するには、トランザクション管理クラスを作って
executeUpdate()が呼ばれたときの接続先・sql・パラメータを再度実行させる必要がある。
とりあえず今は時間がないのでsetAutoCommit(false)してある場合のexecuteUpdate()は、フェイルオーバーしない方向で。
RE: ClusterStatementの問題点 (2004-10-28 13:39 by
yuk
#11683)
タイムアウト待ちの方はOracleだとDBを落とした瞬間に
切り替えが発生するので無問題。
だけど新たにrs.getString()等の時に障害が起きた場合を
想定していなかったことに気づく。これはちゃんと対応しないと
この機能自体の意味がなくなっちゃいそうなので、やるしかないかな。
Reply to
#11664
2.の方も解決 (2004-11-01 22:49 by
yuk
#11728)
setAutoCommit(false)してある場合のexecuteUpdate()
についても、トランザクション開始時点からのすべての
sql文を再実行してフェイルオーバーできるようにした。
Reply to
#11664