BoneCP ist ein Open Source und schnelle Java-Datenbankverbindungspool (JDBC-Pool). & Nbsp; Wenn Sie mit C3P0 und DBCP vertraut sind dann wissen Sie bereits, was das bedeutet. Für den Rest, das ist eine Bibliothek, die eine Datenbankverbindung zu verwalten für Sie schneller Datenbankzugriff in der Anwendung zu bekommen.
& Nbsp;
Warum eine weitere Alternative zu C3P0 / DBCP schreiben?
In unserem Fall waren die verfügbaren Lösungen einfach nicht schnell genug. C3P0 war gut geeignet für kleine Arbeitsbelastung, aber, wie wir sie schob härter, wurde klar, dass es unseren Durchsatz (vor allem in Bezug auf die CPU-Auslastung) verlangsamt. DBCP nicht für den produktiven Einsatz an der Zeit, die wir brauchten (und langsamer in einigen Fällen sowieso) empfohlen.
& Nbsp;
Am Ende haben wir einen neuen Verbindungspool Bibliothek, die schnell produziert, manchmal fast 25 mal schneller als der nächste schnellste Option. Überzeugen Sie nicht für sie aber laufen die vorgesehenen Maßstab testen Sie selbst oder gehen Sie vor und erstellen Sie Ihre eigenen.
& Nbsp;
Hinweis
Trotz 100% Einheit Testabdeckung ist dieses Projekt noch als Beta-Software sein. Mit Vorsicht verwenden
Was ist neu in dieser Pressemitteilung:
- Einige Statistiken Erweiterungen
- OSGi fixes
- Lassen Datenquelle getConnection (Benutzername, Passwort)
- Erkennen Sie neue PostgreSQL SQLSTATE, um einen Pool Neustart auslösen
- Hinzugefügt Konfigurationsoption externalAuth um Verbindungen, ohne dabei in Benutzername / Passwort direkt zu erhalten.
- ermöglichen die Anpassung Haken, was als eine unterbrochene Verbindung
- Lassen max connections == 1
- In Poolnamen auf nicht geschlossene Anschluss Warnung
- Halten ursprüngliche Ausnahme für jdk6users
- Veröffentlichen, um zentrale maven
- hinzufügen defaultReadonly, defaultAutoCommit, defaultTransactionIsolation usw.
- In ladenen Methoden für BoneCPConfig zur Spezifikation der Timeunit erlauben
- Connection Tester Thema Modifikationen ermöglichen unabhängige idleMaxAge / idleconnectionTestPeriod
- nur Schnappen SQLExceptions
- Stellen Sie sich sqlState 08S01 als db Ausfall jetzt
- Verwenden Sie korrekte ExecutorService zum Anschluss max Alter
- Verwenden Objekt Gleichheit statt Feld Gleichheit. equals () hat stattdessen hasSameConfiguration umbenannt.
- Entfernen faden Einheimischen beim Speichern Aussagen
- Sie Batch-SQL nicht füllen, wenn Verbindungshaken ist so konfiguriert,
- Fix für falsche statementCache Warn diese Aussage ist nicht geschlossen, wenn releaseHelper statementCache closeConnectionWatch konfiguriert ist.
- Fix für mögliche Race-Bedingung
- Griff richtig schließen in Cache
- Fix für cache.putIfAbsent
- Wenn wir es nicht geschafft, aber immer noch ersetzt Verbindung, im Auge behalten, dass
- Seien Sie auf das, was als Verbindungsfehler prüfen, weniger strenge
- Starten Sie Tracking-Verbindung und Erhöhen Graf Schöpfung, bevor die Verbindung aus gegebenen
- Wenn DriverProperties hat Benutzernamen / Pass Einstellungen nicht enthalten, aber Config Nutzer konnte nicht, halten sie in sync
- Lassen connectionMaxAge Thread LIFO-Modus richtig zu nutzen
- Stoppen Sie die Überwachung dieser Verbindung, wenn es an den Pool zurückgegeben
- Der Pass in LIFO / FIFO-Modus, um connecitonMaxAge param
- Auf Verbindung zu zerstören, aus finalizable ref Warteschlange zu entfernen, auch wenn Thread ist noch am Leben
- Wenn Transaktion Replay sprengt, werfen Sie die ausgepackten Ausnahme
- MemoritzeTransaction: InvocationTargetException fix
- Wache Logger Aussagen
- Verwenden Sie ein schöner Debug-Meldung deutlicher, wenn eine Datenquelle ben in Gebrauch ist
- Fix acquireRetryAttempts off-by-one Fehler
- Umbenennen XXX - & gt; xxxinSeconds / Minuten / etc
- defaultTransactionIsolation: Lesen verpflichtet - & gt; READ_COMMITTED
- Sie Verbindungstests Thread starten nicht sofort
- make config connection Wert auf 0 als 0 statt Long.MAX gesetzt beibehalten
Was ist neu in Version 0.7.0:
- Eine architektonische Änderung wurde vorgenommen, um den Pool zu beschleunigen .
- Bugs wurden behoben.
- Eine Reihe von neuen Funktionen hinzugefügt.
Was ist neu in Version 0.6.7.2:
- Fixes wurden idleMaxAge / idleConnectionTester, mehrere Knoten gemacht in XML-Konfiguration und einer NPE auf getConnection Timeout.
- Batch-Anweisungen korrekt angemeldet.
- Die onAcquireFail Haken wurde verbessert und ein winziger Fehler wurde in dem Verfahren festgelegt.
- Ein Treibereigenschaften Option wurde hinzugefügt.
- Die Verbindung wird nicht mehr aus, wenn das Herunterfahren abgeschlossen.
- Ein Fehler in der engen Verbindung Uhr Debugging-Tool wurde behoben.
- Alle Mitteilung Helfer werden beendet, wenn das Herunterfahren.
Was ist neu in Version 0.6.6:
- Ein Treibereigenschaften Option wurde hinzugefügt
- XML-basierte Konfigurationsunterstützung wurde hinzugefügt.
- onAcquireFail wurde verbessert.
- Ein Verbindungszeitkonfigurationsoption wurde hinzugefügt.
- Voll JDK5 Kompatibilität hinzugefügt wurde. Interne Anweisungen werden freigelegt.
- Die onConnectionException Haken wurde hinzugefügt.
- Deaktivieren Connection Tracking ist jetzt erlaubt.
- Batch-Anweisungen werden nun korrekt angemeldet.
- Ein fauler init Rennen wurde behoben.
- Ein potenzieller Rennen wird nun vermieden.
- Statik wurden aus Finalizer entfernt.
- Ein potentieller Fehler in das Hinzufügen einer neuen Verbindung wurde behoben.
- Es gibt jetzt 125 Unit-Tests, die zu 100% Einheit Testabdeckung bieten.
Was ist neu in Version 0.6.4:
- Erneuert Anweisung Caching + Anweisung Warnungen, wenn Anwendung konnte nicht schließen.
Was ist neu in Version 0.5.4:
- Halten Sie eine bessere Übersicht über Verbindungen für den Fall eines DB disconnect (dank 'ninja'!)
Was ist neu in Version 0.5.3 RC1:.
- Fixes Zwischenspeichern von Anweisungen bug
Anforderungen :
- Java 2 Standard Edition Runtime Environment
Kommentare nicht gefunden