com.aerospike.client.AerospikeException: java.io.EOFException
at com.aerospike.client.async.SelectorManager.processKey(SelectorManager.java:184) [aerospike-client-3.0.24.jar:?]
at com.aerospike.client.async.SelectorManager.runCommands(SelectorManager.java:108) [aerospike-client-3.0.24.jar:?]
at com.aerospike.client.async.SelectorManager.run(SelectorManager.java:69) [aerospike-client-3.0.24.jar:?]
Caused by: java.io.EOFException
at com.aerospike.client.async.AsyncConnection.read(AsyncConnection.java:127) ~[aerospike-client-3.0.24.jar:?]
at com.aerospike.client.async.AsyncSingleCommand.read(AsyncSingleCommand.java:48) ~[aerospike-client-3.0.24.jar:?]
at com.aerospike.client.async.SelectorManager.processKey(SelectorManager.java:164) ~[aerospike-client-3.0.24.jar:?]
... 2 more
当套接字连接不再有效时抛出 EOFException。通常发生这种情况是因为服务器关闭了连接。
/**
* Read till byteBuffer limit reached or received would-block.
*/
public boolean read(ByteBuffer byteBuffer) throws IOException {
while (byteBuffer.hasRemaining()) {
int len = socketChannel.read(byteBuffer);
if (len == 0) {
// Got would-block.
return false;
}
if (len < 0) {
// Server has shutdown socket.
throw new EOFException();
}
}
return true;
}