BoneCP är en öppen källkod och snabb Java databasanslutning poolen (JDBC Pool). & Nbsp; Om du är bekant med C3P0 och DBCP då du redan vad det innebär. För övrigt är det ett bibliotek som kommer att förvalta en databasanslutning för att få snabbare tillgång databas i din ansökan.
& Nbsp;
Varför skriva en annan alternativ till C3P0 / DBCP?
I vårt fall, de tillgängliga lösningarna var helt enkelt inte tillräckligt snabbt. C3P0 fungerade bra för små arbetsbelastning men som vi drivit det svårare blev det klart att det var bromsa vår genomströmning ner (särskilt när det gäller CPU-användning). DBCP var rekommenderas inte för produktionsanvändning vid den tid vi behövde det (och var långsammare i vissa fall ändå).
& Nbsp;
I slutändan har vi tagit fram en ny anslutning pool bibliotek som är snabb, ibland nästan 25 gånger snabbare än den näst snabbaste alternativet. Ta inte våra ord för det dock köra den medföljande benchmark testa dig själv eller gå vidare och skapa din egen.
& Nbsp;
Disclaimer
Trots att 100% enhetstest täckning, är detta projekt fortfarande anses vara beta programvara. Används med försiktighet
Vad är nytt i den här versionen:
- Flera statistik förbättringar
- OSGi fixar
- Tillåt datakälla GetConnection (användarnamn, lösenord)
- Inse ny postgresql SQLSTATE att utlösa en pool omstart
- Inkom konfigurationsalternativ externalAuth att få anslutningar utan att passera in användarnamn / lösenord direkt.
- Tillåt anpassning krok för vad som anses vara en bruten anslutning
- Tillåt max anslutningar == 1
- Lägg pool namn till oavslutade anslutning varning
- Behåll original undantag för jdk6users
- Publicera till Maven centrala
- Lägg defaultReadonly, defaultAutoCommit, defaultTransactionIsolation, etc
- Lägg till överbelastade metoder för BoneCPConfig att möjliggöra specificering av TIMEUNIT
- Anslutning Tester Ämnes ändringar att tillåta oberoende idleMaxAge / idleconnectionTestPeriod
- endast Grab SQLExceptions
- Tänk SQLSTATE 08s01 som en db misslyckas nu
- Använd rätt ExecutorService för anslutning max ålder
- Använd objekt jämställdhet i stället för fält jämställdhet. equals () har bytt namn till hasSameConfiguration istället.
- Ta bort tråd-lokalbefolkningen när lagring uttalanden
- Fyll inte sats SQL om anslutning krok är konfigurerad
- Fix för falska statementCache varnar för att uttalandet är inte stängd när releaseHelper statementCache closeConnectionWatch konfigureras.
- Fix för potentiella konkurrenstillstånd
- Hantera stänga ordentligt i cache
- Fix för cache.putIfAbsent
- Om vi misslyckades men ändå ersättas anslutning, hålla koll på att
- Var mindre strikt på vad man ska tänka som en anslutning fel
- Starta spårning anslutning och uppräkning räkna skapelse innan anslutningen ges ut
- Om driverProperties inte innehåller användarnamn / pass inställningar men config användarnamn gör, hålla dem i synk
- Tillåt connectionMaxAge tråd att använda LIFO läget korrekt
- Sluta övervaka den här anslutningen om den har återvänt till poolen
- Pass i LIFO / FIFO läge att connecitonMaxAge param
- På anslutning förstöra, ta bort från finalizable ref kö även om tråden är fortfarande lever
- Om transaktions repris blåser upp, kasta oinslagna undantag
- MemoritzeTransaction: InvocationTargetException fix
- Guard logger uttalanden
- Använd en trevligare debug meddelande tydligare när en datakälla ben används
- Fix acquireRetryAttempts off-för-ett fel
- Byt namn XXX - & gt; xxxinSeconds / Minuter / etc
- defaultTransactionIsolation: Läs begått - & gt; read_committed
- Starta inte anslutning testa tråd direkt
- Gör config behålla connectionTimeout värde satt till 0. 0 i stället för Long.MAX
Vad är nytt i version 0.7.0:
- En arkitektonisk förändring gjordes för att göra poolen snabbare .
- buggar har åtgärdats.
- Ett gäng nya funktioner har lagts till.
Vad är nytt i version 0.6.7.2:
- Fixes gjordes för idleMaxAge / idleConnectionTester, flera noder i XML-konfiguration och en NPE på GetConnection timeout.
- Batch uttalanden är korrekt inloggad.
- onAcquireFail kroken har förbättrats, och en liten bugg fastställdes i processen.
- En alternativ drivrutinens egenskaper tillsattes.
- Anslutningen är inte längre stängas vid avstängning.
- Ett fel i nära anslutning klockan felsökningsverktyg fastställdes.
- Alla släpp hjälpare avslutas när du stänger ner.
Vad är nytt i version 0.6.6:
- Ett alternativ drivrutinsegenskaper sattes
- XML-baserad konfiguration stöd tillsattes.
- onAcquireFail har förbättrats.
- En anslutning timeout konfigurationsalternativ tillsattes.
- Full JDK5 kompatibilitet tillsattes. Interna uttalanden exponeras.
- onConnectionException krok tillsattes.
- Inaktivera anslutning spårning nu tillåtet.
- Batch uttalanden är nu inloggad på rätt sätt.
- En lat init lopp fastställdes.
- En potentiell ras nu undvikas.
- Statik avlägsnades från finalizers.
- En potentiell bugg i att lägga till en ny anslutning fastställdes.
- Det finns nu 125 enhetstester, som ger 100% enhetstest täckning.
Vad är nytt i version 0.6.4:
- Revamped uttalande cachning + uttalande varningar om ansökan inte nära.
Vad är nytt i version 0.5.4:
- Bättre koll på anslutningar i händelse av en DB koppla (tack "ninja"!)
Vad är nytt i version 0.5.3 RC1.
- Fixar uttalande caching bugg
Krav :
- Java 2 Standard Edition Runtime Environment
Kommentarer hittades inte