Add path parameter to GrpcChannelConfigurer
This commit is contained in:
@@ -30,6 +30,8 @@ import io.grpc.ManagedChannelBuilder;
|
||||
|
||||
public class DefaultGrpcChannelFactory implements GrpcChannelFactory, DisposableBean {
|
||||
|
||||
private final Map<String, ManagedChannelBuilder<?>> builders = new ConcurrentHashMap<>();
|
||||
|
||||
private final Map<String, ManagedChannel> channels = new ConcurrentHashMap<>();
|
||||
|
||||
private final List<GrpcChannelConfigurer> configurers = new ArrayList<>();
|
||||
@@ -43,11 +45,15 @@ public class DefaultGrpcChannelFactory implements GrpcChannelFactory, Disposable
|
||||
|
||||
@Override
|
||||
public ManagedChannelBuilder<?> createChannel(String authority) {
|
||||
ManagedChannelBuilder<?> target = Grpc.newChannelBuilder(authority, InsecureChannelCredentials.create());
|
||||
for (GrpcChannelConfigurer configurer : configurers) {
|
||||
configurer.accept(target);
|
||||
}
|
||||
ManagedChannelBuilder<?> target = builders.computeIfAbsent(authority, path -> {
|
||||
ManagedChannelBuilder<?> builder = Grpc.newChannelBuilder(path, InsecureChannelCredentials.create());
|
||||
for (GrpcChannelConfigurer configurer : configurers) {
|
||||
configurer.accept(path, builder);
|
||||
}
|
||||
return builder;
|
||||
});
|
||||
return new DisposableChannelBuilder(authority, target);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -15,21 +15,11 @@
|
||||
*/
|
||||
package org.springframework.grpc.client;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
import io.grpc.ManagedChannelBuilder;
|
||||
|
||||
@FunctionalInterface
|
||||
public interface GrpcChannelConfigurer extends Consumer<ManagedChannelBuilder<?>> {
|
||||
|
||||
@Override
|
||||
default GrpcChannelConfigurer andThen(final Consumer<? super ManagedChannelBuilder<?>> after) {
|
||||
Objects.requireNonNull(after);
|
||||
return t -> {
|
||||
accept(t);
|
||||
after.accept(t);
|
||||
};
|
||||
}
|
||||
public interface GrpcChannelConfigurer extends BiConsumer<String, ManagedChannelBuilder<?>> {
|
||||
|
||||
}
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package org.springframework.grpc.server;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import io.grpc.ServerBuilder;
|
||||
@@ -23,13 +22,4 @@ import io.grpc.ServerBuilder;
|
||||
@FunctionalInterface
|
||||
public interface GrpcServerConfigurer extends Consumer<ServerBuilder<?>> {
|
||||
|
||||
@Override
|
||||
default GrpcServerConfigurer andThen(final Consumer<? super ServerBuilder<?>> after) {
|
||||
Objects.requireNonNull(after);
|
||||
return t -> {
|
||||
accept(t);
|
||||
after.accept(t);
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user