Sun Java System Message Queue 3.7 UR1 技术概述

连接服务

使用与连接有关的属性,可以配置和管理代理与客户端之间的物理连接。Message Queue 客户端使用的连接服务将在连接到代理中进行介绍,该节介绍了可用的连接服务,包括它们的名称、类型和底层协议。连接服务是多线程的,并可以通过专用端口使用。专用端口可以由代理的端口映射器动态分配,也可以由管理员静态分配。默认情况下,当启动代理时,会启动并运行 jmsadmin 服务。

因为每个连接都存在两方,所以连接配置会发生在每一方并需要协调:

客户端可以通过防火墙连接到 Message Queue 服务。这可以通过以下方法来完成:让防火墙管理员打开特定的端口,然后连接到该(静态)端口,或者如附录 B,Message Queue 功能 中总结的那样使用 HTTP 或 HTTPS 服务。

每个连接服务还支持特定的验证和授权功能。有关详细信息,请参见安全服务

端口映射器

驻留在代理主端口 7676 的通用端口映射器会为连接服务动态分配一个端口。Message Queue 客户端运行时环境在建立与代理的连接时,会首先与该端口映射器联系,为它已选定的连接服务请求端口号。

配置 jmsssljmsadminssladmin 连接服务时,也可以通过为这些服务分配静态端口号来代替端口映射器的动态分配。但是,通常仅在特殊情况下(如,通过防火墙建立连接时)才使用静态端口,一般不建议使用静态端口。

线程池管理

每个连接服务都是多线程的,因此可以支持多个连接。这些连接所需的线程由线程池中的代理来维护。它们的分配方式取决于您指定的最小和最大线程值以及您选择的线程处理模型。

可以设置用来指定最小和最大线程数的代理属性。因为线程是连接所必需的,所以它们将添加到支持该连接的服务的线程池中。最小值指定可供分配的线程的数量。当可用线程超过这个最小阈值时,系统将在线程变为空闲状态时关闭这些线程,直到再次达到最小阈值,以此来节省内存资源。如果负载较重,线程数可能会增加,直到达到线程池的最大数量。此后,新的连接将被拒绝,直到某个线程变得可用。

所选的线程模型可指定线程是专用于单个连接还是由多个连接共享: