jmeter二次开发,写一个MQ生产者java请求

1、建一个普通java项目
2、将jmeter的ApacheJMeter_core,jar包和ApacheJMeter_java.jar包导入到项目中
3、导入amqp-client的jar包(貌似也可以不用,没有尝试,应该不行)
4、写java代码

public class TestMq extends AbstractJavaSamplerClient{
	private String host;
	private String port;
	private String userName;
	private String passWord;
	private String virtualHost;
	private String queueName;
	private String message;
	private String channelId;

	@Override
	public SampleResult runTest(JavaSamplerContext javaSamplerContext){
		SampleResult sr = new SampleResult();
		try{
			sr.sampleStart();
			ConnectionFactory factory = new ConnectionFactory();
			factory.setHost(host);
			factory.setPort(port);
			factory.setUsername(userName);
			factory.setPassword(passWord);
			factory.setVirtualHost(virtualHost);
			Connection connection = null;
			Channel channel = null;
			try{
				connection = factory.newConnection();
				channel = connection.createChannel();
				channel.queueDeclare(queueName,true,false,false,null);
				channel.basicPublish(channelId,queueName,null,message.getBytes("UTF-8"));
				channel.close();
				connection.close();
			}catch (IOException e){
				e.printStackTrace();
			}catch(TimeoutException e){
				e.printStackTrace();
			}
			sr.setContentType(SampleResult.TEXT);
			sr.setSuccessful(true);
			sr.setResponseMessage("方法执行成功!");
		}catch(Throwable e){
			sr.setContentType(SampleResult.TEXT);
			sr.setSuccessful(false);
			sr.setResponseMessage("方法执行失败!");
			e.printStackTrace();
		}finally{
			sr.sampleEnd();
		}
		return sr;
	}
	@Overeide
	public Arguments getDefaultParameters(){
		Arguments params = new Arguments();
		params.addArguments("host","");
		params.addArguments("port","");
		params.addArguments("userName","");
		params.addArguments("passWord","");
		params.addArguments("virtualHost","");
		params.addArguments("queueName","");
		params.addArguments("message","");
		params.addArguments("channelId","");
		return params;
	}
	@Override
	public void setupTest(JavaSamplerContext arg0){
		host = arg0.getParameter("host");
		port = arg0.getParameter("port");
		userName = arg0.getParameter("userName");
		passWord = arg0.getParameter("passWord");
		virtualHost = arg0.getParameter("virtualHost");
		queueName = arg0.getParameter("queueName");
		message = arg0.getParameter("message");
		channelId = arg0.getParameter("channelId");
	}
	@Override
	public void teardownTest(JavaSamplerContext arg0){}
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值