|
18 | 18 |
|
19 | 19 | import com.mongodb.MongoSocketException; |
20 | 20 | import com.mongodb.ServerAddress; |
21 | | -import com.mongodb.internal.async.SingleResultCallback; |
22 | 21 | import com.mongodb.connection.AsyncCompletionHandler; |
23 | 22 | import com.mongodb.connection.SocketSettings; |
24 | 23 | import com.mongodb.connection.SslSettings; |
25 | 24 | import com.mongodb.connection.Stream; |
26 | 25 | import com.mongodb.connection.StreamFactory; |
27 | 26 | import com.mongodb.connection.TlsChannelStreamFactoryFactory; |
28 | 27 | import com.mongodb.crypt.capi.MongoKeyDecryptor; |
| 28 | +import com.mongodb.internal.async.SingleResultCallback; |
29 | 29 | import com.mongodb.internal.connection.AsynchronousChannelStream; |
30 | 30 | import org.bson.ByteBuf; |
31 | 31 | import org.bson.ByteBufNIO; |
|
40 | 40 |
|
41 | 41 | class KeyManagementService { |
42 | 42 | private final int defaultPort; |
| 43 | + private final TlsChannelStreamFactoryFactory tlsChannelStreamFactoryFactory; |
43 | 44 | private final StreamFactory streamFactory; |
44 | 45 |
|
45 | 46 | KeyManagementService(final SSLContext sslContext, final int defaultPort, final int timeoutMillis) { |
46 | 47 | this.defaultPort = defaultPort; |
47 | | - this.streamFactory = new TlsChannelStreamFactoryFactory().create(SocketSettings.builder() |
| 48 | + this.tlsChannelStreamFactoryFactory = new TlsChannelStreamFactoryFactory(); |
| 49 | + this.streamFactory = tlsChannelStreamFactoryFactory.create(SocketSettings.builder() |
48 | 50 | .connectTimeout(timeoutMillis, TimeUnit.MILLISECONDS) |
49 | 51 | .readTimeout(timeoutMillis, TimeUnit.MILLISECONDS) |
50 | 52 | .build(), |
51 | 53 | SslSettings.builder().enabled(true).context(sslContext).build()); |
52 | 54 | } |
53 | 55 |
|
| 56 | + |
| 57 | + public void close() { |
| 58 | + tlsChannelStreamFactoryFactory.close(); |
| 59 | + } |
| 60 | + |
54 | 61 | void decryptKey(final MongoKeyDecryptor keyDecryptor, final SingleResultCallback<Void> callback) { |
55 | 62 | streamOpen(keyDecryptor, callback); |
56 | 63 | } |
|
0 commit comments