本主题解释如何配置通过 JMS 传输发送和接收消息的消息代理(和记录代理)。

在本章节中:

JMS 前提条件

JNDI

请查阅 JMS 前提条件

队列分配

当在队列上交换流量时,假设有一个客户机应用程序向客户机目标队列发送请求,而服务器应用程序从队列接收该消息,然后将另一条(应答)消息发送到第二个队列,以便客户机接收。

考虑到这个场景,Parasoft Virtualize 客户机和服务器之间使用“中间人”(也称为代理)方法,因此消息传递提供者上需要两个额外的队列来促进该中介。Virtualize 代理将从客户机放置消息的位置接收消息,记录消息内容(如果启用了记录功能),然后将消息放到服务器将接收它的队列中。类似地,服务器将消息发送到一个队列,在这个队列中代理接收它,并记录它(如果启用了记录功能),然后将它放回客户机期待应答响应的队列中。

因此,需要分配两个额外的队列,其中之一是:

  • 调整客户机应用程序,以便在这两个新队列上通信(使用为它们配置的代理连接)。
  • 调整服务器应用程序以使用其他两个队列。

只需要修改两个应用程序队列中的一个。

指定 JMS 设置

指定 JMS 设置,如下所示:

  1. 在 Proxy Connection Settings 对话框中选择 JMS 作为 Proxy Type



  2. 指定 JMS 类型(队列/点对点或主题/发布和订阅)。
  3. 如果要在此面板中定义连接设置(而不是像 Using Global JMS Connections中描述的那样引用以前定义的全局 JMS 设置),请在本地设置区域中输入 JMS 提供者详细信息。可以指定提供者 URL、初始上下文类和连接工厂(请确保将相关 jar 添加到 Virtualize 类路径中),以及身份验证和你想要应用的任何其他初始上下文 JNDI 属性。

     

    在一个代理中使用多个 JMS 连接

    如果你想配置连接到不同 JMS 服务器在一个代理(例如,你想要一个特定的代理连接使用部署在两个不同的 JMS 服务器上的两个队列),请为每个连接创建一个全局 JMS 管理,然后选择适当的连接来配置代理。

  4. 指定连接详情。你可以在此面板中输入每个连接的设置(通过本地设置选项),或者引用在 Virtualize 服务器级别定义的全局 JMS 连接(有关更多详情,请查阅 Using Global JMS Connections )。



    • 对于 Queues(点到点):Virtualize 将捕获发送给客户端 Destination queue 的消息,然后将其转发到服务器 Reply to queue 以进行处理。服务器 Destination queue 是服务器将在其上放置响应消息的队列(处理请求消息之后)。Virtualize 将捕获这些消息并将其转发至客户端 Reply to queue

      队列配置详情

      查阅 Configuring Queues For Recording 以获得有关如何在不同场景中配置记录的提示。

    • 对于 Topics(发布和订阅):Virtualize 监控客户端 Subscribe topic 上传入的请求,以及服务端 Publish topic上输出的响应。
  5. 如果需要,请修改 Use JMSReplyTo for Response 设置。它指定是否使用消息的 JMSReplyToQueueName 数据头来确定代理发送响应的位置。
    • 如果启用了该选项,来自传入请求的值将用于确定将响应发送到何处。
    • 如果未启用该选项,响应将发送值 UI 中指定的队列;JMS 消息数据头中的值将被忽略。
  6. 如果需要,请修改 Worker count 设置。

调整工作线程数量

每个工作线程创建自己到 JMS 提供程序的连接。当部署/重新部署代理时,工作线程计数高于默认值 1,则应该在控制台中看到类似“Started x listener(s)”这样的消息(其中 x 是配置的工作线程数量)。

增加工作线程数量可以帮助提高并发下的性能。代理的整个消息处理链是并行的,因此每个工作线程将与其他线程并行地进行消息关联、响应消息生成等操作。但是,要注意,如果提供了较高的工作线程数量,部署/取消部署/重新部署代理将花费更长的时间,因为要创建/销毁的连接更多。此外,JMS 提供程序可能对允许多少并发连接有限制。不应该超过基础设施配置/允许的范围。

工作线程数量特性相当于 Tomcat server.xml 中的“maxThreads”属性;请查阅 Configuring SSL (HTTPS) for the Virtualize Server 以获得有关在何处为 Virtualize 的 Tomcat 找到 server.xml 的详细信息。

当将 Virtualize 提供给大量并发虚拟用户(即在负载测试期间)时,通常可以通过增加这些值来期望更好的性能。

使用全局 JMS 连接

跨特定 Virtualize 服务器应用的全局 JMS 设置可以在服务器级别定义,然后在这里引用。有关更多详情,请查阅 Connections Tab 。

若要使用全局 JMS 连接,请从适当的 QueueTopic 框中选择它。



要查看预定义的全局连接的详细信息,请单击 View settings

队列配置技巧

查阅 Configuring Queues For Recording 以获得有关如何在不同场景中配置队列的提示。

  • No labels