使用 Jmeter 连接到 MQ
Connecting to an MQ with Jmeter
我被分配了使用 Apache Jmeter 连接到 MQ 的任务。不幸的是,我不是 MQ 的管理员,我试图获取有关它的更多信息的所有尝试都无济于事。我现在拥有的是一个队列名称(称它为 q)、一个队列管理器(它的名称,无论如何;称它为 v)、一个主机(w)、一个端口(x)、一个通道(y)、一个用户(z ), 以及我应该发送的测试消息。游戏的目标很简单:将测试消息从 Apache Jmeter 发送到 MQ(之后我会询问管理员消息是否通过)。换句话说,我需要帮助弄清楚如何使用 Jmeter。
MQ 版本为 8.0.0.4。我已经安装了 Jmeter,所以我不需要这方面的建议(除非有一些特殊的方法应该为此任务安装它)。
this 问题的答案中提供的链接并没有让我走得太远。他们似乎在很大程度上与我试图做的事情无关(而且他们的指示也不准确)。
- 下载 8.0.0.4-WS-MQ-Install-Java-All 文件
- 运行 喜欢
java -jar 8.0.0.4-WS-MQ-Install-Java-All.jar
并接受许可协议
- 将
wmq/JavaSE/
文件夹中的所有 .jars 添加到 JMeter Classpath
- 重新启动 JMeter 以拾取 .jars
将 JSR223 Sampler 添加到您的测试计划并将以下代码放入 "Script" 区域:
import com.ibm.msg.client.jms.JmsFactoryFactory
import com.ibm.msg.client.wmq.WMQConstants
import javax.jms.Session
// 1
def hostName = "127.0.0.1"
def hostPort = 1414
def channelName = "DEV.APP.SVRCONN"
def queueManagerName = "QM1"
def queueName = "DEV.QUEUE.1"
// 2
def ff = JmsFactoryFactory.getInstance(WMQConstants.WMQ_PROVIDER)
def cf = ff.createConnectionFactory()
// 3
cf.setStringProperty(WMQConstants.WMQ_HOST_NAME, hostName)
cf.setIntProperty(WMQConstants.WMQ_PORT, hostPort)
cf.setStringProperty(WMQConstants.WMQ_CHANNEL, channelName)
cf.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT)
cf.setStringProperty(WMQConstants.WMQ_QUEUE_MANAGER, queueManagerName)
// 4
def conn = cf.createConnection("app", "")
def sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE)
// 5
def destination = sess.createQueue(queueName)
conn.start()
如有需要,请参阅 IBM MQ testing with JMeter - Learn How 文章了解更多信息。
我被分配了使用 Apache Jmeter 连接到 MQ 的任务。不幸的是,我不是 MQ 的管理员,我试图获取有关它的更多信息的所有尝试都无济于事。我现在拥有的是一个队列名称(称它为 q)、一个队列管理器(它的名称,无论如何;称它为 v)、一个主机(w)、一个端口(x)、一个通道(y)、一个用户(z ), 以及我应该发送的测试消息。游戏的目标很简单:将测试消息从 Apache Jmeter 发送到 MQ(之后我会询问管理员消息是否通过)。换句话说,我需要帮助弄清楚如何使用 Jmeter。
MQ 版本为 8.0.0.4。我已经安装了 Jmeter,所以我不需要这方面的建议(除非有一些特殊的方法应该为此任务安装它)。
this 问题的答案中提供的链接并没有让我走得太远。他们似乎在很大程度上与我试图做的事情无关(而且他们的指示也不准确)。
- 下载 8.0.0.4-WS-MQ-Install-Java-All 文件
- 运行 喜欢
java -jar 8.0.0.4-WS-MQ-Install-Java-All.jar
并接受许可协议 - 将
wmq/JavaSE/
文件夹中的所有 .jars 添加到 JMeter Classpath - 重新启动 JMeter 以拾取 .jars
将 JSR223 Sampler 添加到您的测试计划并将以下代码放入 "Script" 区域:
import com.ibm.msg.client.jms.JmsFactoryFactory import com.ibm.msg.client.wmq.WMQConstants import javax.jms.Session // 1 def hostName = "127.0.0.1" def hostPort = 1414 def channelName = "DEV.APP.SVRCONN" def queueManagerName = "QM1" def queueName = "DEV.QUEUE.1" // 2 def ff = JmsFactoryFactory.getInstance(WMQConstants.WMQ_PROVIDER) def cf = ff.createConnectionFactory() // 3 cf.setStringProperty(WMQConstants.WMQ_HOST_NAME, hostName) cf.setIntProperty(WMQConstants.WMQ_PORT, hostPort) cf.setStringProperty(WMQConstants.WMQ_CHANNEL, channelName) cf.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT) cf.setStringProperty(WMQConstants.WMQ_QUEUE_MANAGER, queueManagerName) // 4 def conn = cf.createConnection("app", "") def sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE) // 5 def destination = sess.createQueue(queueName) conn.start()
如有需要,请参阅 IBM MQ testing with JMeter - Learn How 文章了解更多信息。