用Jmeter测试消费者和生产者

时间:2012-06-18 21:39:17

标签: java jms jmeter

我有两个程序,第一个是制作人:

public class Producer {
    public static void main(String[] args) throws Exception {
        final ConnectionFactory cf = new ActiveMQConnectionFactory("tcp://localhost:12345");
        final Connection c = cf.createConnection();
        final Session s = c.createSession(false, Session.AUTO_ACKNOWLEDGE);
        final TextMessage msg = s.createTextMessage("rho " + new Date().toString());
        final MessageProducer p = s.createProducer(new ActiveMQQueue("rmannibucau"));
        p.send(msg);
        p.close();
        s.close();
        c.close();
        }
}

,第二个是消费者:

public class Listener {
    public static void main(String[] args) throws Exception {
        final ConnectionFactory cf = new ActiveMQConnectionFactory("tcp://localhost:12345");
        final Connection c = cf.createConnection();
        final Session s = c.createSession(false, Session.AUTO_ACKNOWLEDGE);
        s.createConsumer(s.createQueue("rmannibucau")).setMessageListener(new MessageListener() {

        @Override
        public void onMessage(Message message) {
            System.out.println(message.toString());
        }
    });

    c.start();
    s.run();
    }
}

我使用ActiveMQ,java,jms,我想用Jmetter测试,知道消费者在1分钟内可以消耗多少消息,请帮助我。

1 个答案:

答案 0 :(得分:2)

您需要创建某种Custom Java Sampler.创建其中一种时,您可以从内部调用代码,设置开始/结束计时器,如果请求成功/失败等等。然后,你把这个jar放到JMeter中它会显示为Java Sampler。从这里,您可以使用JMeter的所有功能来指定用户,请求,时间限制等。

我希望这足以帮助你。