设备格式算法

设备格式算法用于确定适当的 JSP 以用作特定请求的响应。当接收到请求并且消息映射器用于将请求转换到 CommandProperty 对象时,用于处理请求的消息映射器和适配器确定相应的设备格式以生成响应的内容。消息映射器的标识添加到适配器的设备格式标识以确定响应的整体设备格式标识。整体设备格式标识和 VIEWNAME 用于从 VIEWREG 表获取相应的生成响应内容的 JSP。

接受请求和使用消息映射器的每一适配器都获得一个设备格式标识。此标识在适配器的 instance_name.xml 配置文件中定义。此标识在 instance_name.xml 配置文件中的适配器配置中定义。使用消息映射器的每一接收适配器的缺省设备格式标识以 -10000 为间隔。程序适配器的设备格式标识为 -10000,WebSphere MQ 适配器的设备格式标识为 -20000。支持旧消息的适配器使用的设备格式标识为 -30000。当确定相应的 JSP 和视图命令以调用 JSP 时,消息映射器标识将添加到适配器的设备格式标识以确定响应视图的设备格式标识。但是,如果计算出的设备格式标识的视图不存在,则将使用适配器间隔的缺省视图。这样,对于采用 HTTP 上的 XML 的请求,缺省设备格式标识是 -10000,而对于 WebSphere MQ 适配器请求,缺省设备格式标识是 -20000。需要区分响应视图,这样 HTTP 响应将使用 HttpForwardViewCommand 接口,而来自 WebSphere MQ 适配器的响应将使用 MessagingViewCommand 接口。

此算法允许在一个适配器中定义最多 9999 个可能的消息映射器。每一消息映射器的配置文件都包含一个标识号,其间隔为 1。要配置使用消息映射器的附加适配器,应当提供间隔为 10000 的设备格式标识。例如,新的请求机制的设备格式间隔可以为 40000。

注意:

  1. 如果无法找到计算出的设备格式标识,将使用适配器的缺省设备格式标识以获得结果。可以在 HTTP 适配器配置中配置此数字。
  2. 间隔大小并不重要。例如,如果只存在两个消息映射器,则间隔大小可以是 3。缺省情况下,间隔是 10000。

示例

  1. 入站消息由标识为 -1 的消息映射器和设备格式标识为 -10000 的程序适配器处理。根据设备格式算法,为响应入站消息而生成的设备格式标识将为 -10001。为 VIEWNAME 在 VIEWREG 表中定义的 JSP 文件和设备格式标识 -10001 用于创建响应。
  2. 入站消息可以由相同的标识为 -1 的消息映射器处理,但是也可以由设备格式标识为 -20000 的 WebSphere MQ 适配器处理。则响应此消息而生成的设备格式标识将为 -20001。这样,为 VIEWNAME 在 VIEWREG 表中定义的 JSP 文件和设备格式标识 -20001 用于创建响应。注意,即使此请求可以使用相同的 JSP 以响应请求,但是用来调用 JSP 的类可能不同。