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){}
}