使用Google Pubsub列出主題時發生異常,我的web應用程序正在tomcat上運行。Google-Cloud:Jetty ALPN/NPN尚未正確配置
public static List<String> listTopics(GcpCredentials gcCredentials, String project) throws GCPException, IOException
{
List<String> topics = new ArrayList<>();
TopicAdminClient client = getTopicClient(gcCredentials);
ProjectName projectName = ProjectName.create(project);
ListTopicsPagedResponse response = client.listTopics(projectName);
for (Topic topic :response.iterateAll())
{
topics.add(topic.getNameAsTopicName().getTopic());
}
return topics;
}`
例外:
java.lang.IllegalArgumentException異常:碼頭ALPN/NPN尚未正確配置。
在io.grpc.netty.GrpcSslContexts.selectApplicationProtocolConfig(GrpcSslContexts.java:174) 在io.grpc.netty.GrpcSslContexts.configure(GrpcSslContexts.java:151) 在io.grpc.netty.GrpcSslContexts.configure(GrpcSslContexts的.java:139) 在io.grpc.netty.GrpcSslContexts.forClient(GrpcSslContexts.java:109) 在io.grpc.netty.NettyChannelBuilder.createProtocolNegotiatorByType(NettyChannelBuilder.java:335) 在io.grpc.netty.NettyChannelBuilder .createProtocolNegotiator(NettyChannelBuilder.java:308) 在io.grpc.netty.NettyChannelBuilder $ NettyTransportFactory $ DynamicNettyTransportParams.getProtocolNegotiator(NettyChannelBuilder.java:499) 在io.grpc.netty.NettyChannelBuilder $ NettyTransportFactory.newClientTransport(NettyCh annelBuilder.java:448) 在io.grpc.internal.CallCredentialsApplyingTransportFactory.newClientTransport(CallCredentialsApplyingTransportFactory.java:61) 在io.grpc.internal.InternalSubchannel.startNewTransport(InternalSubchannel.java:209) 在io.grpc.internal。 InternalSubchannel.obtainActiveTransport(InternalSubchannel.java:186) 在io.grpc.internal.ManagedChannelImpl $ SubchannelImplImpl.obtainActiveTransport(ManagedChannelImpl.java:806) 在io.grpc.internal.GrpcUtil.getTransportFromPickResult(GrpcUtil.java:568) 在io.grpc.internal.DelayedClientTransport.reprocess(DelayedClientTransport.java:296) at io.grpc.internal.ManagedChannelImpl $ LbHelperImpl $ 5.run(ManagedChannelImpl.java:724) at io.grpc.internal.ChannelExecutor.drain(ChannelExe cutor.java:87) 在io.grpc.internal.ManagedChannelImpl $ LbHelperImpl.runSerialized(ManagedChannelImpl.java:715) 在io.grpc.internal.ManagedChannelImpl $ NameResolverListenerImpl.onUpdate(ManagedChannelImpl.java:752) 在IO。 grpc.internal.DnsNameResolver $ 1.run(DnsNameResolver.java:174) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java :617) 在java.lang.Thread.run(Thread.java:745)
我面對同樣的問題**谷歌雲扳手**,任何人都可以請分享任何可以幫助我的東西。 –
這個問題是未來版本中Tomcat和GRPC之間的不兼容問題,[將被修復](https://github.com/grpc/grpc-java/issues/2996)。在[這個其他問題](https://stackoverflow.com/questions/44921783/tomcat-and-grpc-both-upgrade-to-ssl)中詳細介紹的解決方法是使用與netty兼容的grpc-java 1.4.0 -tcnative v2.0.5。 –