如何使用Loadrunner与TIBCO EMS服务器通信?
问题描述:
我是TIBCO新手,尝试使用loadrunner与EMS服务器通信。
客户端和服务器之间的通信通常通过TCP进行。如何使用Loadrunner与TIBCO EMS服务器通信?
我有以下细节我:
- 网址:TCP://someserver.com:端口
- 用户名:
- 密码:
- 队列连接工厂:的QueueConnectionFactory
是否有人尝试使用Loadrunner在EMS服务器上发布消息。
请问我该如何启动脚本?
答
寻找它在谷歌,并与不同的协议尝试之后,我发现了一个简单的方法来对发布消息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
答
您有许多通往任何JMS兼容目标的路径。有些使用网络服务协议。我的首选是一个小型Java模板虚拟用户,它利用适当的连接工厂元素。很可能您的队列解决方案也有一个C级接口,可以将其纳入C模板虚拟用户。您可以选择使用C++/C#/ VB在Visual Studio中开发的虚拟用户(请参阅文档,高级主题)。如果你有一个现有的客户端,你甚至可以使用Winsock从队列中记录一个“push”和“pop”,并操作合适的缓冲区进行练习 - 过去,我在MQ中使用过这个路径。
因此,大量的基于你的技能,你的许可的虚拟用户类型等选项...
你*试过*什么?请在此问题上显示任何研究成果 – Rafalon
我尝试使用soap请求和导入的xml(mesg),但它只显示端点url,我可以在哪里提供目标队列名称? – Neha
我不知道是否做肥皂请求是一个好方法。只是尝试。 – Neha