This commit is contained in:
redkale
2024-10-11 14:29:29 +08:00
parent f86f82db8d
commit d5908815d9

View File

@@ -336,9 +336,6 @@ public abstract class Client<C extends ClientConnection<R, P>, R extends ClientR
// 指定地址获取连接 // 指定地址获取连接
private CompletableFuture<C> connect(@Nonnull SocketAddress addr, @Nullable WorkThread workThread, boolean pool) { private CompletableFuture<C> connect(@Nonnull SocketAddress addr, @Nullable WorkThread workThread, boolean pool) {
if (addr == null) {
return CompletableFuture.failedFuture(new NullPointerException("address is empty"));
}
final String traceid = Traces.currentTraceid(); final String traceid = Traces.currentTraceid();
final AddressConnEntry<C> entry = getAddressConnEntry(addr, workThread); final AddressConnEntry<C> entry = getAddressConnEntry(addr, workThread);
C ec = entry.connection; C ec = entry.connection;
@@ -416,10 +413,7 @@ public abstract class Client<C extends ClientConnection<R, P>, R extends ClientR
if (workThread != null && workThread.threads() == entrys.length && workThread.index() > -1) { if (workThread != null && workThread.threads() == entrys.length && workThread.index() > -1) {
return entrys[workThread.index()]; return entrys[workThread.index()];
} }
int index = workThread == null || workThread.index() < 0 return entrys[random.nextInt(entrys.length)];
? random.nextInt(entrys.length)
: workThread.index() % entrys.length;
return entrys[index];
} }
protected ClientFuture<R, P> createClientFuture(ClientConnection conn, R request) { protected ClientFuture<R, P> createClientFuture(ClientConnection conn, R request) {