Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTTP2请求示例在Jmeter4、Java 10无客户端处理器的情况下崩溃_Java_Jmeter_Jetty_Http2 - Fatal编程技术网

HTTP2请求示例在Jmeter4、Java 10无客户端处理器的情况下崩溃

HTTP2请求示例在Jmeter4、Java 10无客户端处理器的情况下崩溃,java,jmeter,jetty,http2,Java,Jmeter,Jetty,Http2,我无法使用Jmeter 4.0创建HTTP2请求。 我已经安装了最新的JDK和HTTP/2协议采样器插件 我还注意到:penJDK8ClientALPNProcessor@e23ec5a不适用于java 10.0.2“ 尝试使用Java9,但我得到了同样的结果 PS:我已经尝试添加JVM\u ARGS=… 完整的堆栈跟踪是: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: No Client AL

我无法使用Jmeter 4.0创建HTTP2请求。 我已经安装了最新的JDK和HTTP/2协议采样器插件

我还注意到:penJDK8ClientALPNProcessor@e23ec5a不适用于java 10.0.2“ 尝试使用Java9,但我得到了同样的结果

PS:我已经尝试添加JVM\u ARGS=…

完整的堆栈跟踪是:

java.util.concurrent.ExecutionException: java.lang.IllegalStateException: No Client ALPNProcessors!
    at org.eclipse.jetty.util.FuturePromise.get(FuturePromise.java:138)
    at com.blazemeter.jmeter.http2.sampler.HTTP2Connection.connect(HTTP2Connection.java:65)
    at com.blazemeter.jmeter.http2.sampler.HTTP2Request.setConnection(HTTP2Request.java:247)
    at com.blazemeter.jmeter.http2.sampler.HTTP2Request.sample(HTTP2Request.java:121)
    at com.blazemeter.jmeter.http2.sampler.HTTP2Request.sample(HTTP2Request.java:107)
    at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:490)
    at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:416)
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:250)
    at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalStateException: No Client ALPNProcessors!
    at org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory.<init>(ALPNClientConnectionFactory.java:57)
    at org.eclipse.jetty.http2.client.HTTP2Client.lambda$doStart$1(HTTP2Client.java:155)
    at org.eclipse.jetty.http2.client.HTTP2Client$ClientSelectorManager.newConnection(HTTP2Client.java:438)
    at org.eclipse.jetty.io.ManagedSelector.createEndPoint(ManagedSelector.java:222)
    at org.eclipse.jetty.io.ManagedSelector.access$1500(ManagedSelector.java:60)
    at org.eclipse.jetty.io.ManagedSelector$CreateEndPoint.run(ManagedSelector.java:825)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:754)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:672)
    ... 1 more
    Suppressed: java.lang.IllegalStateException: org.eclipse.jetty.alpn.java.client.OpenJDK8ClientALPNProcessor@e23ec5a not applicable for java 10.0.2
        at org.eclipse.jetty.alpn.java.client.OpenJDK8ClientALPNProcessor.init(OpenJDK8ClientALPNProcessor.java:41)
        at org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory.<init>(ALPNClientConnectionFactory.java:77)
        ... 8 more
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:65)
位于com.blazemeter.jmeter.http2.sampler.HTTP2Request.setConnection(HTTP2Request.java:247)
位于com.blazemeter.jmeter.http2.sampler.HTTP2Request.sample(HTTP2Request.java:121)
位于com.blazemeter.jmeter.http2.sampler.HTTP2Request.sample(HTTP2Request.java:107)
位于org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:490)
位于org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:416)
位于org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:250)
位于java.base/java.lang.Thread.run(未知源)
原因: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.IllegalStateException:org.eclipse.jetty.alpn.java.client。OpenJDK8ClientALPNProcessor@e23ec5a不适用于java 10.0.2
位于org.eclipse.jetty.alpn.java.client.OpenJDK8ClientALPNProcessor.init(OpenJDK8ClientALPNProcessor.java:41)
位于org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory(ALPNClientConnectionFactory.java:77)
... 8个以上
查看

penJDK8客户端处理器

我的期望是,你必须使用,以使插件工作

参考资料:


的默认安装使用依赖项

Install library: http2-client
Install library: jetty-alpn-openjdk8-client
Install library: jetty-alpn-client
Install library: http2-common
Install library: http2-hpack
Install library: jetty-io
Install library: jetty-http
Install library: jetty-util
Install plugin: bzm-http2 1.2
此依赖项列表对于Java 9+无效

特别是,
jetty-alpn-openjdk8-client
依赖项无效,不适用于Java 9+。 对于Java 9+,应使用jetty alpn Java客户端

历史:

早在Java8时代,就需要支持HTTP/2,这需要TLS的ALPN层

Java 8没有对ALPN的官方支持,因此Jetty项目维护了JVM
-Xbootclasspath/p:
替换JVM中的核心SSL层,以允许使用ALPN

这是JVM本身没有提供的自定义API

Jetty以外的其他项目也开始使用此API

当Java9网络讨论开始时,有人要求将ALPN支持烘焙到JVM本身中

openjdk的这一努力成为了ALPN的官方API

这个新的官方API与Java8API不同

简而言之,您必须为正在使用的JVM使用适当的API层


如果您希望获得支持,请使用jetty 9.4.19.v20190610在上打开一个新主题(请随时参考此stackoverflow答案)

    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-alpn-java-client</artifactId>
    </dependency>
    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-alpn-conscrypt-client</artifactId>
    </dependency>

org.eclipse.jetty
jetty alpn java客户端
org.eclipse.jetty
jetty alpn conscrypt客户端

我正在使用java 11.0.2,看到异常:
抑制:java.lang.IllegalStateException:org.eclipse.jetty.alpn.java.client。OpenJDK8ClientALPNProcessor@38fcdeda不适用于java 11.0.2
如何安装jetty alpn java客户端?