File tree Expand file tree Collapse file tree 3 files changed +39
-5
lines changed
main/java/com/clickhouse/client
test/java/com/clickhouse/client Expand file tree Collapse file tree 3 files changed +39
-5
lines changed Original file line number Diff line number Diff line change 1
- ## 0.5.0
1
+ ## 0.4.5
2
2
### Breaking Changes
3
3
* refactor data processors and response classes to ensure input stream remain intact before first read:
4
4
- move ClickHouseSimpleRecord to com.clickhouse.data
8
8
### New Features
9
9
* disable SQL rewrite for DELETE statement in ClickHouse 23.3+
10
10
11
+ ### Bug Fixes
12
+ * Slow when using Apache Http Client. [ #1320 ] ( https://github.com/ClickHouse/clickhouse-java/issues/1320 )
13
+ * ClickHouseResponse.getInputStream may return closed input stream.
14
+ * ConcurrentModificationException may occure during deserialization. [ #1327 ] ( https://github.com/ClickHouse/clickhouse-java/pull/1327 )
15
+ * ClickHouseSslContextProvider is not customizable. [ #1329 ] ( https://github.com/ClickHouse/clickhouse-java/issues/1329 )
16
+
11
17
## 0.4.4, 2023-04-17
12
18
### Bug Fixes
13
19
* flatten plugin 1.4.1 generated non-sense dependencies.
Original file line number Diff line number Diff line change 1
1
package com .clickhouse .client ;
2
2
3
3
import java .util .Optional ;
4
+ import java .util .ServiceLoader ;
5
+
4
6
import javax .net .ssl .SSLException ;
5
7
6
- import com .clickhouse .data .ClickHouseUtils ;
8
+ import com .clickhouse .data .ClickHouseChecker ;
7
9
8
10
/**
9
- * This interface defines how to build Netty SSL context based on given
10
- * configuration and target server.
11
+ * This interface defines how to build SSL context based on given configuration
12
+ * and target server.
11
13
*/
12
14
public interface ClickHouseSslContextProvider {
13
15
/**
@@ -16,7 +18,20 @@ public interface ClickHouseSslContextProvider {
16
18
* @return non-null SSL context provider
17
19
*/
18
20
static ClickHouseSslContextProvider getProvider () {
19
- return ClickHouseUtils .getService (ClickHouseSslContextProvider .class );
21
+ String packageName = ClickHouseSslContextProvider .class .getName ();
22
+ packageName = packageName .substring (0 , packageName .lastIndexOf ('.' ) + 1 );
23
+ ClickHouseSslContextProvider defaultProvider = null ;
24
+ for (ClickHouseSslContextProvider s : ServiceLoader .load (ClickHouseSslContextProvider .class ,
25
+ ClickHouseSslContextProvider .class .getClassLoader ())) {
26
+ if (s == null ) {
27
+ // impossible
28
+ } else if (s .getClass ().getName ().startsWith (packageName )) {
29
+ defaultProvider = s ;
30
+ } else {
31
+ return s ;
32
+ }
33
+ }
34
+ return ClickHouseChecker .nonNull (defaultProvider , ClickHouseSslContextProvider .class .getSimpleName ());
20
35
}
21
36
22
37
/**
Original file line number Diff line number Diff line change
1
+ package com .clickhouse .client ;
2
+
3
+ import org .testng .Assert ;
4
+ import org .testng .annotations .Test ;
5
+
6
+ public class ClickHouseSslContextProviderTest {
7
+ @ Test (groups = { "unit" })
8
+ public void testGetProvider () {
9
+ Assert .assertNotNull (ClickHouseSslContextProvider .getProvider ());
10
+ Assert .assertEquals (ClickHouseSslContextProvider .getProvider ().getClass (),
11
+ ClickHouseSslContextProvider .getProvider ().getClass ());
12
+ }
13
+ }
You can’t perform that action at this time.
0 commit comments