-
-
Notifications
You must be signed in to change notification settings - Fork 17
/
CHANGELOG
223 lines (178 loc) · 8.24 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
Version 25.0 (30/11/2019)
=========================
* Allowed the ConcurrentPool ConcurrentCollection parameter to be a pre-initialized collection (or empty as before).
Version 24.0 (28/11/2019)
=========================
* Updated the disruptor dependency in pom.xml to <optional>true</optional>.
Version 23.0 (15/05/2019)
=========================
* Implemented catching and processing of undeclared checked exception in ConcurrentPool and SamplingPoolReducer.
Such exceptions can be easily thrown from PoolObjectFactory if its implementation is in Kotlin. This processing
logic is in addition to the existing logic for processing of RuntimeExceptions.
Version 22.2 (05/05/2018)
=========================
* Catching-up with Vibur DBCP version 22.2.
Version 22.1 (30/03/2018)
=========================
* Small refactoring in ConcurrentPool; moved the call to readyToRestore(..) to happen before the call to
listener.onRestore(..).
* Various javadoc improvements.
Version 22.0 (08/02/2018)
=========================
* Catching-up with Vibur DBCP version 22.0.
Version 21.3 (28/01/2018)
=========================
* Catching-up with Vibur DBCP version 21.3.
Version 21.2 (29/11/2017)
=========================
* Catching-up with Vibur DBCP version 21.2.
Version 21.1 (27/11/2017)
=========================
* Catching-up with Vibur DBCP version 21.1.
Version 21.0 (22/11/2017)
=========================
* Transitioned the SamplingPoolReducer time measuring to nanoseconds.
Version 20.0 (26/09/2017)
=========================
* Added a test for getting object from interrupted thread.
Version 19.2 (14/09/2017)
=========================
* Catching-up with Vibur DBCP version 19.2.
Version 19.1 (17/08/2017)
=========================
* Catching-up with Vibur DBCP version 19.1.
Version 19.0 (09/08/2017)
=========================
* Introduced 3 new methods in the PoolService interface that are counterparts of the existing take(),
takeUninterruptibly(), and tryTake() methods respectively. The newly introduced methods allow
the real time spent waiting for an object to become available in the pool to be reported back to the
caller via the waitedNanos parameter.
Version 18.0 (28/06/2017)
=========================
* Catching-up with Vibur DBCP version 18.0.
Version 17.1 (23/06/2017)
=========================
* Changed the object handling flow on take/restore when the pool is terminated.
Version 17.0 (05/04/2017)
=========================
* Catching-up with Vibur DBCP version 17.0.
Version 16.2 (10/02/2017)
=========================
* Javadoc improvements.
* Minor refactoring.
Version 16.1 (11/01/2017)
=========================
* Catching-up with Vibur DBCP version 16.1.
Version 16.0 (09/01/2017)
=========================
* Catching-up with Vibur DBCP version 16.0.
Version 15.0 (04/01/2017)
=========================
* Catching-up with Vibur DBCP version 15.0.
Version 14.0 (22/12/2016)
=========================
* Minor refactoring; catching-up with Vibur DBCP version 14.0.
Version 13.0 (23/11/2016)
=========================
* Added ConcurrentStackCollection as a stack pair of MultithreadConcurrentQueueCollection.
Version 12.0 (11/11/2016)
=========================
* Added Conversant Disruptor as an optional concurrent queue/collection used by ConcurrentPool.
* Refactoring to accommodate third-party collections having interface different than java.util.Queue/Deque,
particularly introduced the ConcurrentCollection adapter interface.
To configure ConcurrentPool with Conversant Disruptor:
pool = new ConcurrentPool<>(new MultithreadConcurrentQueueCollection<>(100), new ObjectFactory(), 1, 100, true);
Version 11.0 (18/09/2016)
=========================
* Minor change to the signature of getTaken() in TakenListener.
Version 10.0 (31/07/2016)
=========================
* Renamed reduceCreated() to reduceCreatedBy() and added reduceCreatedTo() method in the BasePool interface.
* JavaDoc fixes, importantly, addressed https://github.com/vibur/vibur-object-pool/issues/3.
Version 9.0 (02/05/2016)
========================
* Migrated the source code base to Java 1.7 and implemented AutoCloseable for ConcurrentLinkedPool - issue #1.
* Fixed issue #2 - call destroy() on returned objects after pool termination; the implication of this fix is
that now when closing a proxy connection after pool termination in the JDBC connection pool, the underlying
physical connection will be closed, too.
* Added a new parameter to the ConcurrentLinkedPool constructor in order to allow the underlying objects storing
data structure used by the pool to be either FIFO or LIFO. Before it was always FIFO.
* Refactoring - moved ThreadedPoolReducer and Listener interfaces and their implementation classes under
org.vibur.objectpool.util package.
Version 8.0 (02/02/2016)
========================
* Catching-up with Vibur DBCP version 8.0.
Version 7.0 (10/01/2016)
========================
* Catching-up with Vibur DBCP version 7.0.
Version 6.1 (05/01/2016)
========================
* Catching-up with Vibur DBCP version 6.1.
Version 6.0 (19/12/2015)
==========================
* The call to PoolObjectFactory.destroy() is now included in a try-finally block after calling
PoolObjectFactory.readyToTake() or PoolObjectFactory.readyToRestore().
Version 5.0 (24/08/2015)
==========================
* Catching-up with Vibur DBCP version 5.0.
* Javadoc updates.
Version 4.0 (08/08/2015)
==========================
* Catching-up with Vibur DBCP version 4.0.
* Various other refactoring and javadoc updates.
Version 3.0 (03/06/2015)
==========================
* Modified the SamplingPoolReducer pool shrinking algorithm to allow the number of allocated on the
pool objects to reach zero.
* Modified the SamplingPoolReducer logic to allow the afterReduce() method to be called even if the
intended pool reduction is zero - useful for reporting/logging purposes.
* Migrated the project to single digit version numbers, similarly to Vibur DBCP project.
Version 2.0.0 (02/06/2014)
==========================
* Overhauled the existing in version 1.0 validating and non-validating object pools and replaced
them with a single object pool that does not provide any special validation means, but provides
support for a Listener interface which methods will be called upon calling the pool take and
restore operations.
* Vibur Object Pool is now built and distributed as a valid R4 OSGi bundle.
Version 1.0.0 (02/02/2014)
==========================
* Making all vibur-dbcp dependencies having equal release version.
Version 0.8.9 (15/10/2013)
==========================
* Bug fix and refactoring.
Version 0.8.8 (25/08/2013)
==========================
* Minor refactoring and comments fixes.
* The pool reducer functionality was re-implemented in the SamplingPoolReducer class.
Version 0.8.7 (10/08/2013)
==========================
* Packages structure refactoring.
Version 0.8.6 (26/07/2013)
==========================
* Minor refactoring, dependencies versions update.
Version 0.8.5 (28/06/2013)
==========================
* Fix in ConcurrentHolderLinkedPool, aiming to prevent the possibility that an object taken from
one pool can be returned to another.
* Changed the build artifact name to use "-" instead of "_".
Version 0.8.4 (18/02/2013)
==========================
* restore(Object, boolean valid) method introduced in the pool interfaces.
* afterReduce(int, int, Throwable) method added in PoolReducer class.
* Minor refactoring, improved javadoc, bug fix,
lazily creates new objects if validates on restore fails.
Version 0.8.3 (06/02/2013)
==========================
* Minor refactoring, docs update.
Version 0.8.2 (05/02/2013)
==========================
* Major refactoring, have changed interface methods names,
have added more information in the README file.
Version 0.8.1 (31/01/2013)
==========================
* Changed the reduceCreated(int) and drainCreated() contracts to allows the
createdTotal() to become less than the initialSize(). I.e. a call to
reduceCreated(int) may bring the number of created objects in the pool to zero.
Version 0.8.0 (30/01/2013)
==========================
* First tagged release.