2016-11-08 4 views
0

Ich versuche gerade Apache Ignite mit C3P0 als JDBC-Verbindungspool einzurichten, aber mir ist aufgefallen, dass C3P0 nicht verwendbar ist, da der Ignite-Treiber keine Transaktionen unterstützt.Apache Ignite JDBC-Treiber - JDBC-Verbindungspool-Optionen

Hat jemand Glück gehabt, einen JDBC-Verbindungspool mit dem Ignite-Treiber zu bekommen? Vorschläge?


EDIT:

Aktualisierung mit genau, warum C3P0 funktioniert nicht mit Ignite JDBC-Treiber

einen Blick So nehmen Sie an this line of code Um eine neue zusammengefasste Verbindung zu erstellen, versucht C3P0 Transaktionsisolierung gesetzt durch die Verbindung/Treiber.

Das führt uns schließlich zu this line of code im Ignite-Treiber, der uns im Grunde sagt, dass der Ignite-Treiber SQL-Transaktionen nicht unterstützt.
Ignite selbst unterstützt Transaktionen wie angegeben here, aber es scheint die JDBC-Implementierung nicht.

Also brauche ich eine Alternative zu C3P0, wenn ich einen JDBC-Verbindungspool einrichten möchte; irgendwelche Vorschläge?

+0

Sie besondere Ausnahme erhalten Sie ? Irgendeine Idee, warum C3P0 Transaktionen erfordert? Das klingt komisch für mich. –

+0

versuchen Sie, eine Verbindung von ignite zu einigen RDBMS herzustellen, oder stellt sich das Problem, das sich selbst entzündet, als JDBC-DataSource vor, deren Verbindungen Sie zusammenlegen möchten, aber diese Verbindungen keine Transaktionen unterstützen? (Ich weiß nicht viel über entzünden, aber ich weiß viel über c3p0.) –

+0

Ich habe die Frage mit einigen weiteren Details aktualisiert. – Victor3y

Antwort

0

Es stellt sich heraus, dass der JDBC-Treiber für Apache Ignite derzeit nicht JDBC-kompatibel ist. Insbesondere der Teil, der es bricht, ist, dass es keine Transaktionsunterstützung hat. Als Ergebnis der typische Implementierung JDBC-Pool wird mit dem Ignite-Treiber nicht funktionieren

Es gibt jetzt ein Ticket für diese hier: https://issues.apache.org/jira/browse/IGNITE-4191