BoneCP jest open source i basen szybkie połączenie z bazą danych Java (JDBC basen). & Nbsp; Jeśli znasz C3P0 i DBCP to już, co to oznacza. Co do reszty, to jest biblioteka, która będzie zarządzać połączenia z bazą danych, aby uzyskać szybszy dostęp do bazy danych w aplikacji.
& Nbsp;
Dlaczego warto pisać kolejną alternatywę dla C3P0 / DBCP?
W naszym przypadku, dostępne rozwiązania nie były po prostu wystarczająco szybko. C3P0 działał świetnie do małych obciążeń, ale jako że popchnął go mocniej, stało się jasne, że to było spowolnienie naszą wydajność w dół (w szczególności w zakresie wykorzystania procesora). DBCP nie zaleca się stosowania w czasie produkcji potrzebnej nam to (i był wolniejszy w niektórych przypadkach i tak).
& Nbsp;
W końcu, przyniosły nowe połączenie, które jest basen biblioteki szybko, czasem prawie 25 razy szybciej niż w następnym najszybszej opcji. Nie wierz nam na słowo, choć prowadzony pod warunkiem odniesienia sprawdzić się i iść dalej i tworzyć własne.
& Nbsp;
Odpowiedzialność
Pomimo 100% pokrycia badanej jednostki, projekt ten jest nadal uważany za beta oprogramowania. Skorzystaj z opieki
Co nowego w tym wydaniu:
- Kilka Statystki ulepszenia
- Poprawki OSGi
- Zezwalaj getConnection źródła danych (nazwa użytkownika, hasło)
- Rozpoznaj nowy postgresql SQLState wywołać restart basen
- Dodano opcję config externalAuth uzyskanie połączenia bez przechodzenia w nazwy użytkownika / hasła bezpośrednio.
- Pozwól hak dostosowywania, co jest uważane za przerwane połączenia
- Zezwalaj na połączenia max == 1
- Dodaj nazwę puli do związku niezamkniętych ostrzeżenie
- Zachowaj oryginalny wyjątku dla jdk6users
- Publikowanie w maven centralne
- dodaj defaultReadonly, defaultAutoCommit, defaultTransactionIsolation, itp
- Dodaj metod przeciążonych dla BoneCPConfig aby umożliwić specyfikacji TimeUnit
- Połączenie wątku modyfikacje Tester niezależne idleMaxAge aby umożliwić / idleconnectionTestPeriod
- tylko Grab SQLExceptions
- Zastanów SQLState 08s01 jako porażki db teraz
- Użyj poprawne ExecutorService do wieku gra max
- Użyj obiektu równości zamiast równości pola. równa () została zmieniona na hasSameConfiguration zamiast.
- Usuń wątku mieszkańców, gdy sprawozdanie przechowywanie
- Nie wypełniaj partii SQL, jeśli hak połączenie jest skonfigurowane
- Fix dla fałszywego statementCache ostrzeżenie, że oświadczenie nie jest zamknięty, gdy jest skonfigurowany releaseHelper statementCache closeConnectionWatch.
- Fix potencjalnego wyścigu
- Uchwyt zamykają się w pamięci podręcznej
- Fix dla cache.putIfAbsent
- Jeśli nie udało, ale nadal otrzymuje połączenie, śledzić, że
- być mniej rygorystyczne, co należy uznać za błąd połączenia
- Uruchom śledzenie zwiększając liczbę połączeń i tworzenia, zanim połączenie zostanie rozdane
- Jeśli driverProperties nie zawiera nazwy użytkownika ustawienia / pass ale config nazwa użytkownika nie, zachowaj ich w synchronizacji
- Zezwalaj wątek connectionMaxAge wykorzystać lifo trybie prawidłowo
- Zatrzymaj monitorowanie tego połączenia, jeśli został zwrócony do puli
- przejść do trybu LIFO / FIFO w celu connecitonMaxAge param
- W związku zniszczyć, usunąć z finalizable kolejce sygn nawet jeśli wątek jest wciąż żywa,
- Jeśli powtórka transakcji wieje, rzucać opakowanym wyjątek
- MemoritzeTransaction: InvocationTargetException fix
- Oświadczenia Straży rejestrator
- Użyj ładniejszy wiadomość debugowania wyraźniejszy, gdy źródło danych ben jest w użyciu
- acquireRetryAttempts Fix się po jednym błędzie,
- Zmień nazwę XXX - & gt; xxxinSeconds / Minuty / etc
- defaultTransactionIsolation: Przeczytaj popełnione - & gt; read_committed
- Nie rozpocząć testowanie połączenia wątek od razu
- config zachowują wartość ConnectionTimeout ustawiony na 0 na 0 zamiast Long.MAX
Co nowego w wersji 0.7.0:
- Zmiana architektoniczny zrobić, aby szybciej basen .
- Błędy zostały ustalone.
- kilka nowych funkcji dodano.
Co nowego w 0.6.7.2:
- Fixes wersji dokonanych przez idleMaxAge / idleConnectionTester, wiele węzłów w konfiguracji XML, a czas oczekiwania na NPE getConnection.
- Sprawozdanie okresowe są rejestrowane prawidłowo.
- onAcquireFail hak była wzmocniona, a mały błąd został poprawiony w procesie.
- Opcja właściwości sterownika został dodany.
- Połączenie nie jest już zamknięty podczas zamykania.
- Błąd w ścisłej narzędzia zegarek połączenia debugowania została ustalona.
- Wszystkie pomocnicy uwalnianiu zakończone podczas zamykania.
Co nowego w wersji 0.6.6:
- Opcja właściwości sterownika został dodany
- dodano wsparcie konfiguracji oparty na języku XML.
- onAcquireFail została zwiększona.
- opcja konfiguracji limit czasu połączenia został dodany.
- Pełna kompatybilność JDK5 został dodany. Sprawozdania wewnętrzne są narażone.
- Hak onConnectionException został dodany.
- Wyłączenie śledzenie połączeń jest teraz dozwolone.
- Sprawozdanie okresowe są obecnie rejestrowane prawidłowo.
- leniwa rasa startowych został naprawiony.
- Potencjał rasa jest teraz unikać.
- statyka zostały usunięte z finalizatorów.
- potencjalny błąd w dodaniu nowego połączenia została ustalona.
- Obecnie istnieje 125 testy jednostkowe, które zapewniają 100% pokrycia testów jednostkowych.
Co nowego w wersji 0.6.4:
- Revamped Ochrona buforowania + Ochrona ostrzeżenia, jeśli aplikacja nie blisko.
Co nowego w wersji 0.5.4:
- lepiej śledzić połączeń w przypadku DB odłączać (thanks "ninja"!)
Co nowego w wersji 0.5.3 RC1:.
- Poprawki buforowanie oświadczenie błąd
Wymagania :
- Java 2 Standard Edition Runtime Environment
Komentarze nie znaleziono