BoneCP είναι ένα open source και γρήγορη Java πισίνα σύνδεση βάσης δεδομένων (JDBC πισίνα) & nbsp?. Αν είστε εξοικειωμένοι με C3P0 και DBCP τότε γνωρίζετε ήδη τι σημαίνει αυτό. Για τα υπόλοιπα, αυτό είναι μια βιβλιοθήκη που θα διαχειρίζεται μια σύνδεση βάσης δεδομένων για να μπορείτε να πάρετε πιο γρήγορα πρόσβαση σε βάσεις δεδομένων στην εφαρμογή σας.
& Nbsp?
Γιατί να γράψω μια άλλη εναλλακτική λύση για να C3P0 / DBCP;
Στην περίπτωσή μας, οι διαθέσιμες λύσεις δεν ήταν απλά αρκετά γρήγορα. C3P0 δούλευε τέλεια για τις μικρές φόρτο εργασίας, αλλά κατά τη γνώμη μας έσπρωξε πιο δύσκολο, έγινε σαφές ότι η επιβράδυνση της απόδοσης μας προς τα κάτω (ιδίως όσον αφορά τη χρήση της CPU). DBCP δεν συνιστάται για χρήση στην παραγωγή κατά το χρόνο που χρειαζόταν (και ήταν πιο αργή σε ορισμένες περιπτώσεις, ούτως ή άλλως).
& Nbsp?
Στο τέλος, έχουμε δημιουργήσει μια νέα βιβλιοθήκη πισίνα σύνδεση που είναι γρήγορη, μερικές φορές σχεδόν 25 φορές πιο γρήγορα από ό, τι το επόμενο ταχύτερη επιλογή. Μην πάρτε τη λέξη μας για αυτό όμως, εκτελέστε το παρεχόμενο σημείο αναφοράς τον εαυτό σας δοκιμή ή να προχωρήσει και να δημιουργήσετε το δικό σας.
& Nbsp?
Αποποίηση
Παρά το γεγονός ότι το 100% της μονάδας κάλυψης δοκιμής, το έργο αυτό εξακολουθεί να θεωρείται beta λογισμικό. Χρησιμοποιήστε το με προσοχή
Τι είναι καινούργιο σε αυτή την έκδοση:!
- Πολλές στατιστικές βελτιώσεις
- διορθώσεις OSGi
- Να επιτρέπεται πηγή δεδομένων getConnection (username, password)
- Αναγνώριση νέα PostgreSQL SQLState να προκαλέσει μια επανεκκίνηση πισίνα
- Προστέθηκε externalAuth επιλογή config για να αποκτήσει συνδέσεις χωρίς περνώντας το ψευδώνυμο / κωδικό άμεσα.
- Να επιτρέπεται προσαρμογή γάντζο του τι θεωρείται ένα σπασμένο σύνδεση
- Να επιτρέπεται max συνδέσεις == 1
- Προσθέστε το όνομα πισίνα με ανοικτό για σύνδεση προειδοποιώντας
- Διατηρήστε την αρχική εξαίρεση για jdk6users
- Δημοσίευση στη maven κεντρικό
- defaultReadonly, defaultAutoCommit, defaultTransactionIsolation, κλπ προσθέσετε
- Προσθήκη υπερφορτωμένο μεθόδους για BoneCPConfig να καταστεί δυνατή η προδιαγραφή της TIMEUNIT
- τροποποιήσεις Tester Σύνδεση Νήμα να επιτρέψουν ανεξάρτητη idleMaxAge / idleconnectionTestPeriod
- μόνο Πιάσε SQLExceptions
- Σκεφτείτε SQLState 08s01 ως αποτυχία db τώρα
- Χρησιμοποιήστε τη σωστή ExecutorService για την ηλικία max σύνδεση
- Χρήση της ισότητας αντικείμενο, αντί της ισότητας τομέα. ισούται με () έχει μετονομαστεί σε hasSameConfiguration αντ 'αυτού.
- Αφαιρέστε το νήμα-ντόπιοι κατά την αποθήκευση δηλώσεις
- Μην συμπληρώσετε παρτίδα SQL αν άγκιστρο σύνδεσης έχει ρυθμιστεί
- Διορθώστε για ψεύτικες statementCache προειδοποιώντας ότι η κατάσταση δεν είναι κλειστή όταν releaseHelper statementCache closeConnectionWatch έχει ρυθμιστεί.
- Fix για πιθανή κατάσταση φυλή
- Χειριστείτε κλείσει σωστά στη μνήμη cache
- Fix για cache.putIfAbsent
- Αν αποτύχει, αλλά εξακολουθεί να αντικατασταθεί σύνδεση, να παρακολουθείτε ότι
- να είναι λιγότερο αυστηρή όσον αφορά το τι πρέπει να θεωρούν ως αποτυχία σύνδεσης
- Ξεκινήστε την παρακολούθηση σύνδεση και επαυξάνουν καταμέτρηση δημιουργία πριν από τη σύνδεση που θέλει
- Αν driverProperties δεν περιέχει το ψευδώνυμο / ρυθμίσεις μπάλα αλλά config όνομα χρήστη κάνει, να τους κρατήσει σε συγχρονισμό
- Αφήστε το νήμα connectionMaxAge να χρησιμοποιούν LIFO λειτουργία σωστά
- Σταματήστε την παρακολούθηση αυτής της σύνδεσης, αν έχει επιστραφεί στην πισίνα
- Περάστε σε λειτουργία LIFO / FIFO για connecitonMaxAge param
- Σε σύνδεση καταστρέψει, να αφαιρέσετε από finalizable ουρά παιχνίδι ακόμα κι αν το νήμα είναι ακόμα ζωντανός
- Αν replay συναλλαγή ανατιναχθεί, να ρίξει το ξετυλίξει εξαίρεση
- MemoritzeTransaction: InvocationTargetException αποτύπωση
- Φρουράς δηλώσεις καταγραφικό
- Χρησιμοποιήστε ένα καλύτερο debug μήνυμα σαφέστερο όταν μια πηγή δεδομένων Ben είναι σε χρήση
- acquireRetryAttempts Fix off-προς-ένα σφάλμα
- Μετονομασία XXX - & gt? xxxinSeconds / Λεπτά / etc
- defaultTransactionIsolation: Διαβάστε δεσμευτεί - & gt? read_committed
- Μην ξεκινάτε τη σύνδεση νήμα δοκιμή αμέσως
- Κάντε config διατηρούν την αξία ConnectionTimeout οριστεί σε 0 ως 0 αντί Long.MAX
Τι είναι καινούργιο στην έκδοση 0.7.0:
- Ένα αρχιτεκτονικό αλλαγή έγινε για να κάνουν την πισίνα γρηγορότερα .
- σφάλματα σταθερό.
- Ένα μάτσο νέα χαρακτηριστικά προστέθηκαν.
Τι είναι καινούργιο στο 0.6.7.2:
- Fixes έκδοση έγιναν για idleMaxAge / idleConnectionTester, πολλαπλούς κόμβους στη διαμόρφωση XML και ένα NPE στο χρονικό όριο getConnection.
- Οι δηλώσεις παρτίδας καταγράφονται σωστά.
- Η onAcquireFail γάντζο ενισχύθηκε, και ένα μικρό bug είχε καθοριστεί κατά τη διαδικασία.
- Μια επιλογή ιδιότητες του προγράμματος οδήγησης προστέθηκε.
- Η σύνδεση δεν είναι πλέον κλειστή κατά τον τερματισμό λειτουργίας.
- Ένα σφάλμα στο σύνεγγυς σύνδεση εργαλείο εντοπισμού σφαλμάτων έχει καθοριστεί.
- Όλες οι βοηθοί απελευθέρωση τερματίζεται όταν τερματίζεται.
Τι είναι καινούργιο στην έκδοση 0.6.6:
- Η επιλογή ιδιότητες του προγράμματος οδήγησης προστέθηκε
- προστέθηκε XML-based υποστήριξη παραμέτρων.
- onAcquireFail ενισχύθηκε.
- Μια επιλογή διαμόρφωσης χρονικό όριο σύνδεσης προστέθηκε.
- Πλήρης συμβατότητα JDK5 προστέθηκε. Οι εσωτερικές καταστάσεις εκτίθενται.
- Ο γάντζος onConnectionException προστέθηκε.
- Απενεργοποίηση εντοπισμού σύνδεση επιτρέπεται τώρα.
- καταστάσεων Μαζική τώρα συνδεθεί σωστά.
- Μια τεμπέλης αγώνα της init ορίστηκε.
- Μια πιθανή κούρσα τώρα αποφεύγεται.
- Στατική απομακρύνθηκαν από finalizers.
- Ένα δυνητικό σφάλμα στην προσθήκη ενός νέου σύνδεση ορίστηκε.
- Υπάρχουν σήμερα 125 εξετάσεις μονάδα, η οποία παρέχει 100% κάλυψη δοκιμή μονάδα.
Τι είναι καινούργιο στην έκδοση 0.6.4:
- Επανασχεδιασμένες δήλωση caching + δήλωση προειδοποιήσεις εάν η εφαρμογή απέτυχε να κοντά.
Τι είναι καινούργιο στην έκδοση 0.5.4:
- Διατηρήστε την καλύτερη παρακολούθηση των συνδέσεων σε περίπτωση DB αποσύνδεσης (χάρη «Ninja»!)
Τι είναι καινούργιο στην έκδοση 0.5.3 RC1:.
- Διορθώνει δήλωση προσωρινής αποθήκευσης σφαλμάτων
Απαιτήσεις :
- Java 2 Standard Edition Runtime Environment
Τα σχόλια δεν βρέθηκε