6 package com.vesoft.nebula.client.storage;
8 import com.vesoft.nebula.client.graph.data.HostAddress;
9 import java.io.Serializable;
10 import org.apache.commons.pool2.KeyedPooledObjectFactory;
11 import org.apache.commons.pool2.PooledObject;
12 import org.apache.commons.pool2.impl.DefaultPooledObject;
13 import org.slf4j.Logger;
14 import org.slf4j.LoggerFactory;
16 @SuppressWarnings(
"checkstyle:Indentation")
28 public PooledObject<GraphStorageConnection> makeObject(
HostAddress address)
throws Exception {
30 return new DefaultPooledObject<>(connection);
35 PooledObject<GraphStorageConnection> pooledObject) {
36 pooledObject.getObject().close();
40 public boolean validateObject(
HostAddress hostAndPort,
41 PooledObject<GraphStorageConnection> pooledObject) {
43 if (connection ==
null) {
47 return connection.transport.isOpen();
48 }
catch (Exception e) {
49 LOGGER.warn(String.format(
"storage connection with %s:%d is not open",
50 hostAndPort.getHost(), hostAndPort.getPort()), e);
57 PooledObject<GraphStorageConnection> pooledObject)
59 pooledObject.getObject().open(
63 config.getSslParam());
67 public void passivateObject(
HostAddress hostAndPort,
68 PooledObject<GraphStorageConnection> pooledObject) {
69 pooledObject.markReturning();