当前位置: 首页 > 知识库问答 >
问题:

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

董阳平
2023-03-14

我正在用Java8打这篇文章中提到的相同错误,JMeter 5.1.1版本:Java12 JMeter 5 HTTP/2请求java.lang.NoClassDefFoundError:org/eclipse/jetty/alpn/client/ALPNClientConnectionFactory

我从这里下载了jetty-alpn-java-client并安装在lib目录中并重新启动jmeter,我仍然看到相同的问题。没有涉及TLS配置,但我仍然下载了jetty-alpn-conscrypt-client并从此链接安装,仍然看到相同的问题。

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

错误代码:

org.apache.jmeter.threads.执行异常:hread.executeIllegalStateException:没有客户端ALPNProcess!在hread.java:546FuturePorg.apache.jmeter.threads.(FuturePhread.process)在hread.java:486HTTP2Corg.apache.jmeter.threads.(HTTP2Chread.run)在hread.java:253HTTP2Rjava.lang.连接(HTTP2Rhread.run)在hread.java:748HTTP2Rjava.lang.(HTTP2Request.java:138)在com.blazemeter.jmeter.http2.sampler.HTTP2Request.sample(HTTP2Request.java:115)在org.apache.jmeter.threads.JMeterThread.do采样(JMeterThread.java:622)在java.util.concurrent.JMeterTjava.lang.SamplePackage(JMeterTorg.eclipse.jetty.util.)在romise.getJMeterTromise.java:138采样器(JMeterTcom.blazemeter.jmeter.http2.sampler.)在onnection.connectJMeterTonnection.java:68(JMeterTcom.blazemeter.jmeter.http2.sampler.)在equest.setTequest.java:278(Tcom.blazemeter.jmeter.http2.sampler.)引起的:equest.sampleIllegalStateException:没有客户端ALPNProcess!在org. eclipse. jetty. alpn. client. ALPNClientConnectionFactory.(ALPNClientConnectionFactory. java: 57)在org. eclipse. jetty. http2. clientUnsupport tedClassVersionError: org/eclipse/jetty/alpn/java/client/JDK9ClientALPN处理器已由最新版本的Java运行时(类文件版本53.0)编译,该版本的Java运行时仅识别java. lang上高达52.0的类文件版本。在java. lang的ClassLoader. sure eClass1(Native Method)。在java. securite的ClassLoader. sure eClass(ClassLoader. java: 763)。在java. net的SecureClassLoader. sure eClass(SecureClassLoader. java: 142)。在java. net的URLClassLoader. sure eClass(URLClassLoader. java: 468)。URLClassLoader. access 100美元(URLClassLoader. java: 74)在java. net。URLClassLoader 1美元. run(URLClassLoader. javaServiceLoader$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

共有1个答案

从劲
2023-03-14

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

本页底部有一张表格:https://www.eclipse.org/jetty/documentation/9.4.x/alpn-chapter.html

其中您可以将alpn-boot库的相关版本与您的Java8版本相匹配。

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

更多信息:

  • JMeter的HTTP2插件
  • JMeter的新HTTP/2插件
 类似资料:
  • 我想在一些计算机之间建立点对点连接,这样用户就可以在没有外部服务器的情况下聊天和交换文件。我最初的想法如下: 我在服务器上制作了一个中央服务器插座,所有应用程序都可以连接到该插座。此ServerSocket跟踪已连接的套接字(客户端),并将新连接的客户端的IP和端口提供给所有其他客户端。每个客户端都会创建一个新的ServerSocket,所有客户端都可以连接到它。 换句话说:每个客户端都有一个Se

  • URI 方法 URI() string 返回当前客户端使用的服务器地址。 SetURI 方法 SetURI(uri string) 设置当前客户端使用的服务器地址。如果你想要设置多个服务器地址,请使用 SetURIList 方法代替该方法。 URIList 方法 URIList() []string 返回当前客户端可使用的服务器地址列表。 SetURIList 方法 SetURIList(uriL

  • 客户端事件通过 SetEvent 方法进行设置。 客户端事件有两个,它们分别定义为: type onErrorEvent interface { OnError(name string, err error) }   type onFailswitchEvent interface { OnFailswitch(Client) } 因为 go 语言不需要显式实现接口的特点,所以这两

  • 创建客户端有两种方式,一种是直接使用特化的构造器函数,另一种是使用工厂构造器函数。 第一种方式返回的是具体的客户端结构体指针对象,第二种方式返回的是客户端接口对象。 使用特化的构造器函数创建客户端 特化的构造器函数有下面几个: func NewHTTPClient(uri ...string) (client *HTTPClient) func NewTCPClient(uri ...string

  • 客户端下载地址: windows 32位安装包 windows 64位安裝包 mac 安装包 Android App iOS App

  • 问题 你想使用网络上提供的服务。 解决方案 创建一个基本的 TCP 客户机。 在 Node.js 中 net = require 'net' domain = 'localhost' port = 9001 connection = net.createConnection port, domain connection.on 'connect', () -> console.log