1
votes

I'm hitting the same Error mentioned in this post with Java 8, JMeter 5.1.1 Version: Java 12 JMeter 5 HTTP/2 request java.lang.NoClassDefFoundError: org/eclipse/jetty/alpn/client/ALPNClientConnectionFactory

I downloaded the jetty-alpn-java-client from here and installed in lib directory and restarted jmeter, I still see the same issue. There is no TLS Configuration involved but still I downloaded jetty-alpn-conscrypt-client and installed from this link, Still seeing the same issue.

I don't have any code written, I Installed HTTP2 Sampler from JMeter Plugin Manager. Please let me know what am I missing.

Error Code:

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:68) at com.blazemeter.jmeter.http2.sampler.HTTP2Request.setConnection(HTTP2Request.java:278) at com.blazemeter.jmeter.http2.sampler.HTTP2Request.sample(HTTP2Request.java:138) at com.blazemeter.jmeter.http2.sampler.HTTP2Request.sample(HTTP2Request.java:115) at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:622) at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:546) at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:486) at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:253) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.IllegalStateException: No Client ALPNProcessors! at org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory.(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.UnsupportedClassVersionError: org/eclipse/jetty/alpn/java/client/JDK9ClientALPNProcessor has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:763) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:370) at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404) at java.util.ServiceLoader$1.next(ServiceLoader.java:480) at org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory.(ALPNClientConnectionFactory.java:65) ... 8 more Suppressed: java.lang.NoClassDefFoundError: org/eclipse/jetty/alpn/ALPN at org.eclipse.jetty.alpn.java.client.OpenJDK8ClientALPNProcessor.init(OpenJDK8ClientALPNProcessor.java:42) at org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory.(ALPNClientConnectionFactory.java:77) ... 8 more Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.alpn.ALPN at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 10 more

1

1 Answers

1
votes

You're using wrong alpn-boot library, you're trying to use 9.4.9.v20180320 which requires Java 9 and you're using Java 8.

there is a table at the bottom of this page: https://www.eclipse.org/jetty/documentation/9.4.x/alpn-chapter.html

where you can match the relevant version of the alpn-boot library with your Java 8 version.

Moreover, you should not be placing the .jar to JMeter's "lib" folder, you should set the relevant -Xbootclasspath/p:/path/to/alpn-boot.jar JVM property.

More information: