美文网首页
Jmeter调用第三方Jar包:单例模式

Jmeter调用第三方Jar包:单例模式

作者: renyjenny | 来源:发表于2022-08-21 14:56 被阅读0次

Jmeter本身功能不满足测试需求时,我们可以自己编写相应代码,然后通过BeanShell调用java方法。通常情况下,Jmeter的每个线程都会初始化一次相应的类,但某些特殊场景要求我们的类仅能初始化一次,可以通过单例模式解决。
举个例子,调用一个登录的接口,要求对密码进行hmac计算进行加密,所以要在BeanShell PreProcessor中调用加密类的hmac接口。但是该加密类尤其耗费内存,一般初始化超过3次就会报OOM错误。所以我们在测试时,只能初始化一次,所有线程共用一个加密类实例。
Java类编写:

public class TestSingleton {
    private static Provider instance = null;

    private static Provider getInstance(String env){
        if(instance == null){
            // 初始化
            instance = new Provider(env);
        }
        return instance;
        
    }

    public static String getHac(String env, String passwd){
        Provider provider = TestSingleton.getInstance(env);
        String result = provider.doFinal(passwd);
        return result;
    }

}

Jmeter调用:

String hmac = TestSingle.getHac("env", "123456");

单例模式还有很多种实现方法,饿汉式、懒汉式、内部类等,详解可参见(一)单例模式详解_左潇龙的博客-CSDN博客

相关文章

  • Jmeter调用第三方Jar包:单例模式

    Jmeter本身功能不满足测试需求时,我们可以自己编写相应代码,然后通过BeanShell调用java方法。通常情...

  • Jmeter JDBC操作mysql

    * jdbc.jar包准备,jmeter不能直接连接mysql,需要导入第三方的jar包,来连接mysql; * ...

  • JavaScript设计模式(一) 单例模式

    一、单例模式 单例模式指的是无论调用多少次生成函数,都只会返回相同的实例。在这之前,你需要对闭包有些许了解. 假设...

  • 单例模式(单例宏)

    单例模式 单例模式(arc) 类的实现 调用单例 单例模式(mrc) 除了上边的方法我们在mrc的时候还需要增加一...

  • 单例模式

    单例模式是封装的一种形式,依靠单例模式调用被封装的属性和方法,因为使用单例模式的类无法生成实例(只能引用单例模式所...

  • jmeter beanshell调用jar或java类

    1.直接调用本地java文件,如: 2.调用外部jar包,大概有3种方式,这里用的是直接放在jmeter/lib/...

  • JMeter与Ant的集成

    1、%JMETER_HOME%\extras文件夹下的ant-jmeter-1.1.1.jar这个jar包复制到%...

  • spring加上@service注解是单例会发生线程不安全问题吗

    问题 spring框架在service层加上@service注解是单例模式, 两个线程同时调用单例模式servic...

  • 单例模式

    单例模式 调用的时间 直接用类名调用就可以了

  • iOS 常见设计模式

    单例模式 代理模式 观察者模式 工厂模式 单例模式 load: 当类加载到OC运行时环境中(内存), 掉会调用一次...

网友评论

      本文标题:Jmeter调用第三方Jar包:单例模式

      本文链接:https://www.haomeiwen.com/subject/uyyigrtx.html