2016-05-19 5 views
0

Ich habe einen skalierbaren JBOSS-Server, der auf einer (oder mehreren) Ausrüstung (en) läuft und im zweiten Gang gegen eine MySQL-Datenbank läuft. Ich würdeWie können Sie transaction_isolation = READ-COMMITTED für eine OpenShift MySql-Datenbank festlegen?

transaction_isolation = READ-COMMITTED 

ich auf den JBOSS Server ssh kann festlegen möchten, aber wenn ich sehe /etc/my.cnf Datei es ist auf dem falschen Gang (Ich gehe davon aus), und ich kann nicht herausfinden, wie zu der MySql-Ausrüstung ssh. Und trotzdem ist diese Datei Root-Benutzer-Datei geschützt und lässt mich nichts ändern.

phpMyAdmin wird anscheinend nicht auf einer skalierbaren Maschine unterstützt.

Ich kann keine Informationen über Umgebungsvariablen finden, die helfen würden.

+0

Haben Sie das Handbuch Kapitel mit dem Titel [SET TRANSACTION Syntax] gelesen (https://dev.mysql.com/doc/en/set-transaction.html) Sie können die Isolationsstufe für Transaktionen pro Sitzung festlegen. Vielleicht ist dies alles, was Sie benötigen. – eggyal

+0

Danke, eggyal. Ich greife über JPA auf die Datenbank zu. Ich denke nicht, dass das über JPA machbar ist ... oder bin ich (hoffentlich) falsch? – Ari

+0

Es stellte sich heraus, dass dies einfach war: Alles, was ich tun musste, war em.createNativeQuery ("SET TRANSACTION ISOLATION LEVEL READ COMMITTED"). ExecuteUpdate(); 'Nochmals vielen Dank an @eggyal - Sie haben den Tag gerettet – Ari

Antwort

0

Ich habe keine Möglichkeit gefunden, es auf der Datenbankebene zu setzen, aber dank @eggyal kam ich auf die Idee, es programmatisch zu setzen. In den Transaktionen, wo es wichtig war, dass es gesetzt wurde, rief ich em.createNativeQuery("SET TRANSACTION ISOLATION LEVEL READ COMMITTED").executeUpdate(); zu Beginn der Transaktion. (Meine Anwendung ist eine JPA-Anwendung, Hiberate-Implementierung, MySql-Backend)

Verwandte Themen