BoneCP is een open source en snelle Java database connectie zwembad (JDBC Pool) & nbsp;. Als je bekend bent met C3P0 en DBCP dan ben je al wat dit betekent. Voor de rest, dit is een bibliotheek die een database verbinding zal beheren voor u sneller toegang tot de database in uw toepassing te krijgen.
& Nbsp;
Waarom een ander alternatief om C3P0 / DBCP schrijven?
In ons geval, de beschikbare oplossingen waren gewoon niet snel genoeg. C3P0 werkte prima voor kleine workloads, maar zoals we duwde hem harder, werd duidelijk dat het vertragen onze doorvoer naar beneden (vooral in termen van CPU-gebruik). DBCP was niet aanbevolen voor productie gebruik op het moment dat we het nodig hadden (en was langzamer in sommige gevallen toch).
& Nbsp;
Uiteindelijk hebben we een nieuwe verbinding pool bibliotheek die is snel geproduceerd, soms bijna 25 keer sneller dan de volgende snelste optie. Niet ons woord maar te geloven, lopen de verstrekte benchmark-test jezelf of ga je gang en maak uw eigen.
& Nbsp;
Disclaimer
Ondanks het feit dat 100% unit test dekking, is dit project nog steeds beschouwd als beta software. Gebruik met zorg
Wat is nieuw in deze release:
- Verscheidene statistieken verbeteringen
- OSGi fixes
- Laat gegevensbron getConnection (gebruikersnaam, wachtwoord)
- Herken nieuwe postgresql SQLState om een zwembad herstart triggeren
- Toegevoegd config optie externalAuth om verbindingen te verkrijgen zonder passeren in gebruikersnaam en / of wachtwoord direct.
- Laat maatwerk haak van wat wordt beschouwd als een verbroken verbinding
- Laat max verbindingen == 1
- Voeg pool naam aan unclosed verbinding waarschuwing
- Houd originele uitzondering voor jdk6users
- Publiceren naar het centrum Maven
- toe defaultReadonly, defaultAutoCommit, defaultTransactionIsolation, etc
- Voeg overbelast methoden voor BoneCPConfig om voor de specificatie van TIMEUNIT
- Verbinding Tester Thread aanpassingen om onafhankelijke idleMaxAge / idleconnectionTestPeriod
- alleen Grab SQL- uitzonderingen
- Beschouw SQLState 08s01 als db falen nu
- Gebruik de juiste ExecutorService voor aansluiting maximum leeftijd
- Gebruik object gelijkheid in plaats van het veld gelijkheid. gelijk aan () is hernoemd naar hasSameConfiguration plaats.
- Verwijder thread-bewoners bij de opslag van verklaringen
- Gebruik batch SQL niet vullen als verbinding haak is ingesteld
- Fix voor verkeerde statementCache waarschuwing die verklaring wordt niet gesloten wanneer releaseHelper statementCache closeConnectionWatch is geconfigureerd.
- Fix voor potentiële race condition
- Behandel goed sluiten in de cache
- Fix voor cache.putIfAbsent
- Als we niet, maar toch vervangen verbinding, bijhouden van die
- Wees minder streng op wat te overwegen als verbinding falen
- Start het bijhouden van verbinding en het verhogen creatie tellen voordat de verbinding wordt gegeven
- Als driverProperties geen gebruikersnaam en / of pas instellingen bevat maar config gebruikersnaam is, bewaar ze in sync
- Laat connectionMaxAge draad te kunnen gebruiken LIFO-modus
- Stop toezicht deze aansluiting als het is teruggekeerd naar het zwembad
- Ga naar LIFO / FIFO-modus om connecitonMaxAge param
- Op verbinding te vernietigen, verwijderen uit finalizable ref wachtrij, zelfs als rode draad is nog in leven
- Als de transactie replay blaast, gooi de ongeopende uitzondering
- MemoritzeTransaction: InvocationTargetException fix
- Guard logger verklaringen
- Gebruik een mooiere debug boodschap duidelijker wanneer een gegevensbron ben in gebruik is
- Fix acquireRetryAttempts off-voor-één fout
- Naam wijzigen XXX - & gt; xxxinSeconds / Minuten / etc
- defaultTransactionIsolation: Lees gepleegd - & gt; read_committed
- Begin niet verbinding testen draad meteen
- Maak config behouden connectionTimeout waarde ingesteld op 0 als 0 in plaats van Long.MAX
Wat is nieuw in versie 0.7.0:
- Een architectonisch verandering werd gedaan om het zwembad sneller te maken .
- Bugs werden vastgesteld.
- Een aantal nieuwe functies zijn toegevoegd.
Wat is nieuw in versie 0.6.7.2:
- Fixes werden gemaakt voor idleMaxAge / idleConnectionTester, meerdere nodes in XML-configuratie en een NPE op getConnection timeout.
- Batch verklaringen correct zijn ingelogd.
- De onAcquireFail haak was verbeterd, en een kleine bug werd vastgesteld in het proces.
- Een chauffeur eigenschappen optie werd toegevoegd.
- De verbinding wordt niet meer afgesloten bij het afsluiten.
- Een bug in de nauwe band horloge debug hulpmiddel werd vastgesteld.
- Alle vrijlating helpers worden beëindigd bij het afsluiten.
Wat is nieuw in versie 0.6.6:
- Een chauffeur eigenschappen optie werd toegevoegd
- XML-gebaseerde configuratie ondersteuning werd toegevoegd.
- onAcquireFail werd versterkt.
- Een verbinding timeout configuratie-optie werd toegevoegd.
- Volledige JDK5 compatibiliteit werd toegevoegd. Interne verklaringen worden blootgesteld.
- De onConnectionException haak werd toegevoegd.
- Het uitschakelen verbinding bijhouden is nu toegestaan.
- Batch uitspraken zijn nu goed ingelogd.
- Een luie init wedstrijd werd vastgesteld.
- Een potentiële ras is nu vermeden.
- Statics werden verwijderd uit finalizers.
- Een potentiële bug in het toevoegen van een nieuwe verbinding werd vastgesteld.
- Er zijn nu 125 unit tests, die 100% unit test dekking te bieden.
Wat is nieuw in versie 0.6.4:
- Vernieuwde verklaring caching + statement waarschuwingen als toepassing niet dicht.
Wat is nieuw in versie 0.5.4:
- Houd beter spoor van verbindingen in het geval van een DB disconnect (bedankt 'ninja'!)
Wat is nieuw in versie 0.5.3 RC1:.
- Fixes verklaring caching bug
Eisen
- Java 2 Standard Edition Runtime Environment
Reacties niet gevonden