即使在安装jetty alpn java客户端或jetty alpn conscrypt客户端jar之后,也没有客户端alpn处理器JMeter HTTP2错误

即使在安装jetty alpn java客户端或jetty alpn conscrypt客户端jar之后,也没有客户端alpn处理器JMeter HTTP2错误,jmeter,http2,Jmeter,Http2,我在Java 8,JMeter 5.1.1版本中遇到了本文中提到的相同错误: 我从lib目录下载了jetty-alpn-java客户机,并将其安装在lib目录中,然后重新启动jmeter,我仍然看到相同的问题。 虽然没有涉及TLS配置,但我还是下载了jetty alpn conscrypt客户端并从中安装,仍然看到了相同的问题 我没有编写任何代码,我从JMeter插件管理器安装了HTTP2采样器。请让我知道我错过了什么 错误代码: java.util.concurrent.ExecutionEx

我在Java 8,JMeter 5.1.1版本中遇到了本文中提到的相同错误:

我从lib目录下载了jetty-alpn-java客户机,并将其安装在lib目录中,然后重新启动jmeter,我仍然看到相同的问题。 虽然没有涉及TLS配置,但我还是下载了jetty alpn conscrypt客户端并从中安装,仍然看到了相同的问题

我没有编写任何代码,我从JMeter插件管理器安装了HTTP2采样器。请让我知道我错过了什么

错误代码:

java.util.concurrent.ExecutionException:java.lang.IllegalStateException:没有客户端ALPNProcessor! 位于org.eclipse.jetty.util.FuturePromise.get(FuturePromise.java:138) 位于com.blazemeter.jmeter.http2.sampler.HTTP2Connection.connect(HTTP2Connection.java:68) 位于com.blazemeter.jmeter.http2.sampler.HTTP2Request.setConnection(HTTP2Request.java:278) 位于com.blazemeter.jmeter.http2.sampler.HTTP2Request.sample(HTTP2Request.java:138) 位于com.blazemeter.jmeter.http2.sampler.HTTP2Request.sample(HTTP2Request.java:115) 位于org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:622) 位于org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:546) 位于org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:486) 位于org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:253) 运行(Thread.java:748) 原因:java.lang.IllegalStateException:没有客户端ALPNProcessor! 位于org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory(ALPNClientConnectionFactory.java:57) 位于org.eclipse.jetty.http2.client.HTTP2Client.lambda$doStart$1(HTTP2Client.java:155) 位于org.eclipse.jetty.http2.client.HTTP2Client$ClientSelectorManager.newConnection(HTTP2Client.java:438) 位于org.eclipse.jetty.io.ManagedSelector.createEndPoint(ManagedSelector.java:222) org.eclipse.jetty.io.ManagedSelector.access$1500(ManagedSelector.java:60) 位于org.eclipse.jetty.io.ManagedSelector$CreateEndPoint.run(ManagedSelector.java:825) 位于org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:754) 位于org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:672) ... 还有一个 抑制:java.lang.UnsupportedClassVersionError:org/eclipse/jetty/alpn/java/client/JDK9ClientALPNProcessor已由较新版本的java运行时(类文件版本53.0)编译,此版本的java运行时仅识别52.0以下的类文件版本 位于java.lang.ClassLoader.defineClass1(本机方法) 位于java.lang.ClassLoader.defineClass(ClassLoader.java:763) 位于java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 位于java.net.URLClassLoader.defineClass(URLClassLoader.java:468) 在java.net.URLClassLoader.access$100(URLClassLoader.java:74) 在java.net.URLClassLoader$1.run(URLClassLoader.java:369) 在java.net.URLClassLoader$1.run(URLClassLoader.java:363) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.net.URLClassLoader.findClass(URLClassLoader.java:362) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:424) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:357) 位于java.lang.Class.forName0(本机方法) 位于java.lang.Class.forName(Class.java:348) 位于java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:370) 位于java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404) 位于java.util.ServiceLoader$1.next(ServiceLoader.java:480) 位于org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory(ALPNClientConnectionFactory.java:65) ... 8个以上 抑制:java.lang.NoClassDefFoundError:org/eclipse/jetty/alpn/alpn 位于org.eclipse.jetty.alpn.java.client.OpenJDK8ClientALPNProcessor.init(OpenJDK8ClientALPNProcessor.java:42) 位于org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory(ALPNClientConnectionFactory.java:77) ... 8个以上 原因:java.lang.ClassNotFoundException:org.eclipse.jetty.alpn.alpn 位于java.net.URLClassLoader.findClass(URLClassLoader.java:382) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:424) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 10多


您使用了错误的
alpn boot
库,您试图使用
9.4.9.v20180320
,它需要Java 9,您使用的是Java 8

本页底部有一个表格:

您可以将
alpn boot
库的相关版本与Java 8版本相匹配

此外,您不应该将.jar放在JMeter的“lib”文件夹中,您应该设置相关的
-Xbootclasspath/p:/path/to/alpn boot.jar
JVM属性

更多信息:


感谢Dmitri,我实际上遵循了以下链接:这有助于解决此问题,但导致了下面提到的另一个异常:java.util.concurrent.TimeoutException位于java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1771)作为此异常的结果,我接受了PCAP,发现JMeter在GET响应中抱怨解析器错误。附件是用于调试的PCAP和私钥。注:客户端IP为10.120.195.6,服务器IP为10.120.195.63。如果您还需要其他信息,请告诉我。因为我无法在这里附加TCPDump,所以实际上我在TCPDump中看到了解析器错误。不确定为什么HTTP2 GET Response JMeter无法正确解析所提到的解析错误问题的任何输入或建议或解决方法,因为我遇到了这个问题,无法继续使用JMeter进行测试。斯里坎