得到 java.lang.IllegalArgumentException: Jetty ALPN/NPN has not been properly configured ,使用时 gRPC(google pub/sub) 发布/使用来自Kafka的消息。
java.lang.IllegalArgumentException: Jetty ALPN/NPN has not been properly configured
gRPC(google pub/sub)
xxe27gdn1#
尝试在netty tcnative boringssl static上添加运行时依赖项。请参阅grpc的security.md。注意nettytcnative的版本会随着时间的推移而发生必要的变化;您应该查看特定版本的文档版本(例如,这是针对1.2.0的)。
v2g6jxz62#
正如google所建议的,使用jetty容器而不是tomcat,这个解决方案是可行的,但是在我们的产品中,应用程序部署在tomcat容器上,当然我需要它来在tomcat上工作。在调试grpc代码时,发现引起问题的guava版本更新了guava版本18.0(以前的版本中有些类没有),解决了问题,但在cf中部署时失败定制的emebed tomcat核心,它一直工作良好,但团队再次对定制的tomcat容器说不。 Java –jar apm-asset-x.jar –在本地工作正常,但需要为cf start提供一个自定义命令,无法更改cf start过程。最后,通过在pom.xml中提供以下依赖关系,使类加载器在运行时使用tcssl库而不是tomcat核心库。在过去的3天里,这个解决方案是有效的。提供org.springframework.boot spring boot starter web org.hibernate*org.apache.tomcat.embed tomcat embed core org.apache.tomcat.embed tomcat embed coremaven清单插件,将tc本机库提升到类加载器的顶部。
Java –jar apm-asset-x.jar
ztigrdn83#
添加与我的jdk版本匹配的alpn客户机jar为我解决了这个问题。在eclipse中,需要将jar设置为tomcat服务器的引导条目。你可以在这里找到更多信息:https://medium.com/@parithi/jetty-alpn-npn-has-not-been-properly-configured-solution-418417ee6502解决方案
zi8p0yeb4#
最后,回到引导类路径方法。将jetty-alpn.jar作为引导类路径的前缀,现在它在CloudFoundry中开始正常工作。
brgchamk5#
在pom中,尝试将grpc依赖项放在spring引导依赖项之前(依赖项的顺序很重要)。我做到了,问题就解决了。例如:
<dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-language</artifactId> <version>0.13.0-beta</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
5条答案
按热度按时间xxe27gdn1#
尝试在netty tcnative boringssl static上添加运行时依赖项。请参阅grpc的security.md。注意nettytcnative的版本会随着时间的推移而发生必要的变化;您应该查看特定版本的文档版本(例如,这是针对1.2.0的)。
v2g6jxz62#
正如google所建议的,使用jetty容器而不是tomcat,这个解决方案是可行的,但是在我们的产品中,应用程序部署在tomcat容器上,当然我需要它来在tomcat上工作。
在调试grpc代码时,发现引起问题的guava版本更新了guava版本18.0(以前的版本中有些类没有),解决了问题,但在cf中部署时失败
定制的emebed tomcat核心,它一直工作良好,但团队再次对定制的tomcat容器说不。
Java –jar apm-asset-x.jar
–在本地工作正常,但需要为cf start提供一个自定义命令,无法更改cf start过程。最后,通过在pom.xml中提供以下依赖关系,使类加载器在运行时使用tcssl库而不是tomcat核心库。在过去的3天里,这个解决方案是有效的。
提供org.springframework.boot spring boot starter web org.hibernate*org.apache.tomcat.embed tomcat embed core org.apache.tomcat.embed tomcat embed core
maven清单插件,将tc本机库提升到类加载器的顶部。
ztigrdn83#
添加与我的jdk版本匹配的alpn客户机jar为我解决了这个问题。在eclipse中,需要将jar设置为tomcat服务器的引导条目。
你可以在这里找到更多信息:https://medium.com/@parithi/jetty-alpn-npn-has-not-been-properly-configured-solution-418417ee6502解决方案
zi8p0yeb4#
最后,回到引导类路径方法。将jetty-alpn.jar作为引导类路径的前缀,现在它在CloudFoundry中开始正常工作。
brgchamk5#
在pom中,尝试将grpc依赖项放在spring引导依赖项之前(依赖项的顺序很重要)。我做到了,问题就解决了。例如: