有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在jmeter中使用java类?

我尝试过在jmeter中运行java类
我已将java代码放入BSF预处理器中
但发生了以下错误:

ERROR - org.apache.bsf.BSFManager: Exception : java.lang.ClassNotFoundException: org.apache.bsf.engines.java.JavaEngine
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190

我尝试了这个link来包含jar文件。 但是我不知道我需要包括哪个jar文件

有人能告诉我在jmeter中运行java类所包含的jar文件吗


共 (2) 个答案

  1. # 1 楼答案

    最好使用Beanshell而不是Java

    BSF中似乎存在包装问题,请参阅

    In the meantime, you can get a binary distribution with all BSF engines for BSF 2.4 (as well as a slightly advanced version of BSF 2.4) from http://wi.wu-wien.ac.at/rgf/rexx/bsf4rexx/current/BSF4Rexx_install.zip. After unpacking that zip-archive, you will find a jar-file named "bsf-v244-20080704.jar". Just replace the official BSF 2.4 with that version (which contains all official engines as well as "BSF_Log" and "BSF_LogFactory").

    提到的罐子也有一些问题

    无论如何,为了提高性能和更新代码,最好使用JSR223 Sampler+Groovy+填充编译缓存键

  2. # 2 楼答案

    您使用的是jmeter的哪个版本?使用java语言的2.9 jsr 223预处理器对我来说很好。我认为jsr223-*元素正在取代beanchell-*和BSF-*元素,所以您可以尝试一下

    java和beanshell顺便说一句,如果你执行得太多,它的速度会很慢。您可以使用groovy和JSR223预处理器。您可以在JSR223 sampler文档中看到关于缓存编译代码的内容

    Beanshell和groovy基本上是java代码兼容的,因此您可以将java代码与它们一起使用,但不能完全兼容。纯java中任何更复杂的东西都可能无法在groovy和/或beanshell中编译

    如果使用纯java,那么如果可以的话,使用Java Request采样器代替预处理器是有意义的。如果技术上很难实现,那么最快的选择似乎是使用groovy和jsr223预处理器,并缓存编译后的代码

    希望这有帮助