Я пытаюсь получить доступ к списку подписчиков в моем проекте GCP, используя мой код Java и несколько библиотек, предоставленных GCP. Этот код прекрасно работает в моей 64-битной среде Windows, но не работает в 32-битной среде Windows.
Я видел в нескольких документах, что netty не поддерживается на 32-битных машинах, и мы можем при необходимости создавать наши собственные двоичные файлы.
https://netty.io/wiki/forked-tomcat-native.html#how-to-build
CredentialsProvider credentialsProvider =
FixedCredentialsProvider.create(
ServiceAccountCredentials.fromStream(new FileInputStream(JSONPath)));
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create(SubscriptionAdminSettings.newBuilder().setCredentialsProvider(credentialsProvider).build())) {
ListSubscriptionsRequest listSubscriptionsRequest =
ListSubscriptionsRequest.newBuilder()
.setProject(ProjectName.of(ProjectId).toString())
.build();
SubscriptionAdminClient.ListSubscriptionsPagedResponse response =
subscriptionAdminClient.listSubscriptions(listSubscriptionsRequest);
logger.log(Level.SEVERE,"response List: "+response.toString());
Iterable<Subscription> subscriptions = response.iterateAll();
for (Subscription subscription : subscriptions) {
if(subscription.getName().equals(SubscriptionId)){
return true;
}
}
[20: 02: 30: 384] | [06-17-2019] | [io.grpc.netty.shaded.io.grpc.netty.GrpcSslContexts] | [INFO] | [36]: netty-tcnative недоступен (это может быть нормальным) |
java.lang.IllegalArgumentException: не удалось загрузить любую из указанных библиотек: [netty_tcnative_windows_x86_32, netty_tcnative_x86_32, netty_tcnative] в io.grpc.netty.shaded.io.netty.util.internal.NativeLibraryLoader.jl.
на io.grpc.netty.shaded.io.netty.handler.ssl.OpenSsl.loadTcNative (OpenSsl.java:526)
на io.grpc.netty.shaded.io.netty.handler.ssl.OpenSsl. (OpenSsl.java:93)
на io.grpc.netty.shaded.io.grpc.netty.GrpcSslContexts.defaultSslProvider (GrpcSslContexts.java:244)
на io.grpc.netty.shaded.io.grpc.netty.GrpcSslContexts.configure (GrpcSslContexts.java:171)
на io.grpc.netty.shaded.io.grpc.netty.GrpcSslContexts.forClient (GrpcSslContexts.java:120)
в io.grpc.netty.shaded.io.grpc.netty.NettyChannelBuilder.buildTransportFactory (NettyChannelBuilder.java:385)
в io.grpc.internal.AbstractManagedChannelImplBuilder.build (AbstractManagedChannelImplBuilder.java:435)
на com.google.api.gax.grpc.InstantiatingGrpcChannelProvider.createSingleChannel (InstantiatingGrpcChannelProvider.java:254)
на com.google.api.gax.grpc.InstantiatingGrpcChannelProvider.createChannel (InstantiatingGrpcChannelProvider.java:165)
на com.google.api.gax.grpc.InstantiatingGrpcChannelProvider.getTransportChannel (InstantiatingGrpcChannelProvider.java:157)
на com.google.api.gax.rpc.ClientContext.create (ClientContext.java:157)
на com.google.cloud.pubsub.v1.stub.GrpcSubscriberStub.create (GrpcSubscriberStub.java:260)
на com.google.cloud.pubsub.v1.stub.SubscriberStubSettings.createStub (SubscriberStubSettings.java:241)
на com.google.cloud.pubsub.v1.SubscriptionAdminClient. (SubscriptionAdminClient.java:177)
на com.google.cloud.pubsub.v1.SubscriptionAdminClient.create (SubscriptionAdminClient.java:158)