我是TIBCO的新手并尝试使用loadrunner与EMS Server进行通信。
客户端和服务器之间的通信通常通过TCP进行。
我有以下详细信息:
是否有人尝试使用Loadrunner在EMS服务器上发布消息。
请建议我如何开始编写脚本?
答案 0 :(得分:0)
我相信你应该使用tibjmsnaming://而不是tcp。 并在路径中保留所需的JMS / EMS库。
您应该使用WebServices模板。 我记得很久以前将消息发布到Load runner。
答案 1 :(得分:0)
您有许多路径可以访问任何符合JMS的目标。一些使用Web服务协议。我的偏好是利用适当的连接工厂元素的小型Java模板虚拟用户。您的队列解决方案很可能还具有C级接口,可以将其合并到C模板虚拟用户中。您可以使用C ++ / C#/ VB为Visual Studio中开发的虚拟用户提供选项(请参阅文档,高级主题)。如果您有一个现有的客户端,您甚至可以使用Winsock从队列中记录“推送”和“弹出”,并操作适当的缓冲区进行练习 - 我过去曾使用过MQ的这条路径。
因此,很多选项都基于您的技能,您的许可虚拟用户类型等......
答案 2 :(得分:0)
在google上搜索并尝试使用不同的协议后,我发现了一种在EMS服务器上发布消息的简单方法。
由于EMS是JMS(Java消息传递服务)的扩展,我们必须使用jms协议与EMS通信
在VUGEN中使用java vuser是最佳选择
以下是您可以在actions.java文件中粘贴的代码。
public int action() throws Throwable {
String serverUrl = "tcp://localhost:7222";
String userName = "admin";
String password = "admin";
String queueName = "your queue name";
try {
System.out.println("Sending JMS message to server " + serverUrl + "...");
QueueConnectionFactory factory = new TibjmsQueueConnectionFactory(serverUrl);
QueueConnection connection = factory.createQueueConnection(userName, password);
QueueSession session = connection.createQueueSession(false, javax.jms.Session.AUTO_ACKNOWLEDGE);
// Use createQueue() to enable sending into dynamic queues.
Queue senderQueue = session.createQueue(queueName);
QueueSender sender = session.createSender(senderQueue);
/* publish messages */
TextMessage jmsMessage = session.createTextMessage("your message");
//String text = (String) data.elementAt(i);
//jmsMessage.setText(text);
sender.send(jmsMessage);
System.out.println("Sent message!");
connection.close();
} catch (JMSException e) {
e.printStackTrace();
System.exit(0);
}
return 0;
}//end of action