mirror of https://github.com/grpc/grpc-java.git
s2a: don't use reflection to load token manager (#11590)
This commit is contained in:
parent
9bb06af963
commit
35f0d56894
|
|
@ -32,33 +32,13 @@ java_library(
|
||||||
)
|
)
|
||||||
|
|
||||||
java_library(
|
java_library(
|
||||||
name = "token_fetcher",
|
name = "token_manager",
|
||||||
srcs = ["src/main/java/io/grpc/s2a/internal/handshaker/tokenmanager/TokenFetcher.java"],
|
srcs = glob([
|
||||||
|
"src/main/java/io/grpc/s2a/internal/handshaker/tokenmanager/*.java",
|
||||||
|
]),
|
||||||
deps = [
|
deps = [
|
||||||
":s2a_identity",
|
":s2a_identity",
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
java_library(
|
|
||||||
name = "access_token_manager",
|
|
||||||
srcs = [
|
|
||||||
"src/main/java/io/grpc/s2a/internal/handshaker/tokenmanager/AccessTokenManager.java",
|
|
||||||
],
|
|
||||||
deps = [
|
|
||||||
":s2a_identity",
|
|
||||||
":token_fetcher",
|
|
||||||
artifact("com.google.code.findbugs:jsr305"),
|
artifact("com.google.code.findbugs:jsr305"),
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
java_library(
|
|
||||||
name = "single_token_fetcher",
|
|
||||||
srcs = [
|
|
||||||
"src/main/java/io/grpc/s2a/internal/handshaker/tokenmanager/SingleTokenFetcher.java",
|
|
||||||
],
|
|
||||||
deps = [
|
|
||||||
":s2a_identity",
|
|
||||||
":token_fetcher",
|
|
||||||
artifact("com.google.guava:guava"),
|
artifact("com.google.guava:guava"),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
@ -77,13 +57,12 @@ java_library(
|
||||||
"src/main/java/io/grpc/s2a/internal/handshaker/SslContextFactory.java",
|
"src/main/java/io/grpc/s2a/internal/handshaker/SslContextFactory.java",
|
||||||
],
|
],
|
||||||
deps = [
|
deps = [
|
||||||
":access_token_manager",
|
":token_manager",
|
||||||
":common_java_proto",
|
":common_java_proto",
|
||||||
":s2a_channel_pool",
|
":s2a_channel_pool",
|
||||||
":s2a_identity",
|
":s2a_identity",
|
||||||
":s2a_java_proto",
|
":s2a_java_proto",
|
||||||
":s2a_java_grpc_proto",
|
":s2a_java_grpc_proto",
|
||||||
":single_token_fetcher",
|
|
||||||
"//api",
|
"//api",
|
||||||
"//core:internal",
|
"//core:internal",
|
||||||
"//netty",
|
"//netty",
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,6 @@
|
||||||
package io.grpc.s2a.internal.handshaker.tokenmanager;
|
package io.grpc.s2a.internal.handshaker.tokenmanager;
|
||||||
|
|
||||||
import io.grpc.s2a.internal.handshaker.S2AIdentity;
|
import io.grpc.s2a.internal.handshaker.S2AIdentity;
|
||||||
import java.lang.reflect.Method;
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import javax.annotation.concurrent.ThreadSafe;
|
import javax.annotation.concurrent.ThreadSafe;
|
||||||
|
|
||||||
|
|
@ -28,19 +27,9 @@ public final class AccessTokenManager {
|
||||||
|
|
||||||
/** Creates an {@code AccessTokenManager} based on the environment where the application runs. */
|
/** Creates an {@code AccessTokenManager} based on the environment where the application runs. */
|
||||||
public static Optional<AccessTokenManager> create() {
|
public static Optional<AccessTokenManager> create() {
|
||||||
Optional<?> tokenFetcher;
|
Optional<TokenFetcher> tokenFetcher = SingleTokenFetcher.create();
|
||||||
try {
|
|
||||||
Class<?> singleTokenFetcherClass =
|
|
||||||
Class.forName("io.grpc.s2a.internal.handshaker.tokenmanager.SingleTokenFetcher");
|
|
||||||
Method createTokenFetcher = singleTokenFetcherClass.getMethod("create");
|
|
||||||
tokenFetcher = (Optional) createTokenFetcher.invoke(null);
|
|
||||||
} catch (ClassNotFoundException e) {
|
|
||||||
tokenFetcher = Optional.empty();
|
|
||||||
} catch (ReflectiveOperationException e) {
|
|
||||||
throw new LinkageError(e.getMessage(), e);
|
|
||||||
}
|
|
||||||
return tokenFetcher.isPresent()
|
return tokenFetcher.isPresent()
|
||||||
? Optional.of(new AccessTokenManager((TokenFetcher) tokenFetcher.get()))
|
? Optional.of(new AccessTokenManager(tokenFetcher.get()))
|
||||||
: Optional.empty();
|
: Optional.empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue