Skip to content

Commit 6fcd4f3

Browse files
rmehta19kannanjgithub
authored andcommitted
s2a: don't use reflection to load token manager (grpc#11590)
1 parent 88a4444 commit 6fcd4f3

File tree

2 files changed

+7
-39
lines changed

2 files changed

+7
-39
lines changed

s2a/BUILD.bazel

Lines changed: 5 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -32,33 +32,13 @@ java_library(
3232
)
3333

3434
java_library(
35-
name = "token_fetcher",
36-
srcs = ["src/main/java/io/grpc/s2a/internal/handshaker/tokenmanager/TokenFetcher.java"],
37-
deps = [
38-
":s2a_identity",
39-
],
40-
)
41-
42-
java_library(
43-
name = "access_token_manager",
44-
srcs = [
45-
"src/main/java/io/grpc/s2a/internal/handshaker/tokenmanager/AccessTokenManager.java",
46-
],
35+
name = "token_manager",
36+
srcs = glob([
37+
"src/main/java/io/grpc/s2a/internal/handshaker/tokenmanager/*.java",
38+
]),
4739
deps = [
4840
":s2a_identity",
49-
":token_fetcher",
5041
artifact("com.google.code.findbugs:jsr305"),
51-
],
52-
)
53-
54-
java_library(
55-
name = "single_token_fetcher",
56-
srcs = [
57-
"src/main/java/io/grpc/s2a/internal/handshaker/tokenmanager/SingleTokenFetcher.java",
58-
],
59-
deps = [
60-
":s2a_identity",
61-
":token_fetcher",
6242
artifact("com.google.guava:guava"),
6343
],
6444
)
@@ -77,13 +57,12 @@ java_library(
7757
"src/main/java/io/grpc/s2a/internal/handshaker/SslContextFactory.java",
7858
],
7959
deps = [
80-
":access_token_manager",
60+
":token_manager",
8161
":common_java_proto",
8262
":s2a_channel_pool",
8363
":s2a_identity",
8464
":s2a_java_proto",
8565
":s2a_java_grpc_proto",
86-
":single_token_fetcher",
8766
"//api",
8867
"//core:internal",
8968
"//netty",

s2a/src/main/java/io/grpc/s2a/internal/handshaker/tokenmanager/AccessTokenManager.java

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package io.grpc.s2a.internal.handshaker.tokenmanager;
1818

1919
import io.grpc.s2a.internal.handshaker.S2AIdentity;
20-
import java.lang.reflect.Method;
2120
import java.util.Optional;
2221
import javax.annotation.concurrent.ThreadSafe;
2322

@@ -28,19 +27,9 @@ public final class AccessTokenManager {
2827

2928
/** Creates an {@code AccessTokenManager} based on the environment where the application runs. */
3029
public static Optional<AccessTokenManager> create() {
31-
Optional<?> tokenFetcher;
32-
try {
33-
Class<?> singleTokenFetcherClass =
34-
Class.forName("io.grpc.s2a.internal.handshaker.tokenmanager.SingleTokenFetcher");
35-
Method createTokenFetcher = singleTokenFetcherClass.getMethod("create");
36-
tokenFetcher = (Optional) createTokenFetcher.invoke(null);
37-
} catch (ClassNotFoundException e) {
38-
tokenFetcher = Optional.empty();
39-
} catch (ReflectiveOperationException e) {
40-
throw new LinkageError(e.getMessage(), e);
41-
}
30+
Optional<TokenFetcher> tokenFetcher = SingleTokenFetcher.create();
4231
return tokenFetcher.isPresent()
43-
? Optional.of(new AccessTokenManager((TokenFetcher) tokenFetcher.get()))
32+
? Optional.of(new AccessTokenManager(tokenFetcher.get()))
4433
: Optional.empty();
4534
}
4635

0 commit comments

Comments
 (0)