Ich verbessere derzeit eine Anwendung, die Spring und Hibernate verwendet. Es gibt mehrere Instanzen, in denen die Anwendung über vorbereitete Anweisungen mit der Datenbank (Postgres) kommuniziert. Die Anwendung bis jetzt, kommuniziert mit Postgres über dbcp.Vorbereitete Anweisungen in dbcp + spring + hibernate + jdbc deaktivieren?
Änderung: Die Anwendung kommuniziert jetzt Postgre via Pgbouncer.
d.h .: Anwendung -> dbcp -> pgbouncer -> Postgres
Ich verstehe dies nicht die ideale Lösung, das heißt sein würde: 2 Fahrgemeinschaften mit. Aber aufgrund der aktuellen Architektur benötigen wir beide.
Voraussetzung: pgbouncer nicht unterstützt vorbereitete Anweisungen in Transaktion Modus & daher beseitigt werden müssen.
Änderungen, um vorbereitete Aussage zu beseitigen.
1) psql: VERSION 9.2.6 =
keine Änderung
2) pgbouncer: in der Konfigurationsdatei festgelegt folgende attribures
ignore_startup_parameters=extra_float_digits
pool_mode=transaction
server_reset_query=
3) jdbc: Die vorbereitete Der Schwellenwert wurde entsprechend festgelegt. dh: jdbc:postgresql://localhost:6541/postgres?prepareThreshold=0
JAVA VERSION = 1.7.0_51
JDBC DRIVER = postgresql-9.3-1102.jdbc41-3.jar
4) DBCP: poolPreparedStatements = false maxOpenPreparedStatements = 0
5) Ruhezustand: keine Änderung
6) Feder: keine Änderung
Ausgabe:
Trotz all dieser Änderungen sehe ich immer noch vorbereitete Anweisungen, die versuchen, erstellt zu werden & Transaktionen aufgrund dieser.
„ERROR: vorbereitete Anweisung‚S_21‘existiert nicht; verschachtelte Ausnahme ist org.postgresql.util.PSQLException: ERROR: vorbereitete Anweisung‚S_21‘existiert nicht“
ich alle logischen Änderungen entfernt haben das verwendete eine vorbereitete Aussage.
Wie kann ich verhindern, dass die anderen vorbereiteten Anweisungen erstellt werden? Erstellt Feder oder Winterschlaf intern vorbereitete Anweisungen für ihre Verwendung? Wenn ja, wie deaktiviere ich sie?
Das klingt wie eine kolossal schlechte Idee. – chrylis
haben Sie dieses Problem behoben? Können Sie bitte posten, was Sie getan haben, um dieses Problem zu lösen? – awsome