本主题介绍如何配置通过 JMS 传输发送和接收消息的消息代理。
章节目录:
请参阅 JMS 前提条件。
当通过队列交换通讯报文时,我们假设客户端应用程序向目标队列发送请求,而服务器应用程序从队列接收消息。然后,服务器将回复消息发送到第二个队列,供客户端接收。在此场景中,消息代理充当客户端和服务器之间的“中间人”,这需要在消息传递提供者上添加两个队列,以促进调解。Parasoft 代理从客户端放置消息的位置接收消息,记录消息内容(如果启用了记录功能),然后将消息放到服务器将接收它的队列中。类似地,服务器将消息发送到一个队列,代理进行接收并录制(如果启用了录制功能),然后将它放回客户端期待回复响应的队列中。
因此,需要分配两个额外的队列,其中之一是:
只需要修改两个应用程序队列中的一个。
指定 JMS 设置,如下所示:
如果要在此面板中定义连接设置(而不是像Using Global JMS Connections中所述,引用以前定义的全局 JMS 设置),请在本地设置区域中输入 JMS 提供者详细信息。可以指定提供者 URL、初始化环境类和连接工厂(请确保将相关 jar 添加到 classpath 中),以及身份验证和您想要应用的任何其他初始化环境 JNDI 属性。
在一个代理中使用多个 JMS 连接如果要在单个代理中配置与不同 JMS 服务器的连接(例如,要让特定代理连接使用部署在两个不同 JMS 服务器上的两个队列),可为每个连接创建一个全局 JMS 连接,然后在配置代理时选择相应的连接。 |
针对队列(点到点):Virtualize 将捕获发送给客户端 Destination queue 的消息,然后将其转发到服务器 Reply to queue 以进行处理。服务器目标队列是服务器将在其上放置响应消息的队列(处理请求消息之后)。Virtualize 将捕获这些消息并将其转发至客户端回复队列。
队列配置详情有关如何在不同场景中配置录制的提示,请参阅配置录制的队列。 |
针对主题(发布和订阅): Virtualize 监控客户端 Subscribe topic 上传入的请求,以及服务端 Publish topic上输出的响应。
调整工作线程数量每个工作线程创建自己到 JMS 提供者的连接。当部署/重新部署代理时,工作线程计数高于默认值 1,则应该在控制台中看到类似“已启用 x 监听器”这样的消息(其中 x 是配置的工作线程数量)。 增加工作线程数量可以帮助提高并发下的性能。代理的整个消息处理链都是并行的,因此每个工作线程都会与其他线程并行处理消息关联、响应消息生成等工作。但是,需注意,如果提供了较高的工作线程数量,部署/取消部署/重新部署代理将花费更长的时间,因为要创建/销毁的连接更多。此外,JMS 提供者可能对允许多少并发连接有限制。不应该超过基础设施配置/允许的范围。 线程数特性相当于 Tomcat server.xml 中的 |
跨特定 SOAtest 和 Virtualize 服务器应用的全局 JMS 设置可以在服务器级别定义和在这些设置引用。详情请参阅连接选项卡。
若要使用全局 JMS 连接,请从适当的队列或主题菜单中选择。
要查看预定义的全局连接的详细信息,请点击查看设置。
有关如何在不同场景中配置队列的提示,请参阅配置录制的队列。