第四十章 开发Productions - ObjectScript Productions - 定义企业消息库

news/2024/11/26 5:38:52/

文章目录

  • 第四十章 开发Productions - ObjectScript Productions - 定义企业消息库
  • 概述
  • 定义 `Message Bank`服务器
  • 添加`Message Bank Helper`类
  • 关于`Message Bank`的注意事项

第四十章 开发Productions - ObjectScript Productions - 定义企业消息库

概述

Enterprise Message Bank 是一个可选的远程归档工具,可以在其中收集来自多个客户端产品的消息、事件日志项和搜索表条目。它由以下组件组成:

  • Message Bank 服务器,这是一个简单的production,仅由 Message Bank 服务组成,该服务接收来自任意数量的客户端产品的提交。
  • 添加到production中并使用消息库服务器地址配置的客户端操作(消息库操作)。

下面显示了一个概念示例:

在这里插入图片描述

为了方便查看消息库中的消息,提供了以下附加选项:

  • 对于 Message Bank 实例,Management Portal 会自动包含 Enterprise Monitor 页面,可以在其中监控客户端生产状态、浏览 Message Bank 以及搜索来自受监控客户端的消息。
  • 对于每个客户端实例,您都可以在 Message Bank 实例中配置一个指向 Enterprise Monitor 的链接。

下面显示了一个例子:

在这里插入图片描述

定义 Message Bank服务器

要定义 Message Bank 服务器,请在服务器计算机上的启用互操作性的命名空间中执行以下操作:

  1. 在抽象类中创建 Ens.Enterprise.MsgBank.Production的子类。
  2. 将其 ProductionDefinition XData 块复制到您的类中。
  3. 编译你的新类。

下面显示了一个例子:

Class MyMessageBank Extends Ens.Enterprise.MsgBank.Production
{XData ProductionDefinition
{
<Production Name="Ens.Enterprise.MsgBank.Production" TestingEnabled="false" LogGeneralTraceEvents="false"><Description>Production for receiving and collating message bank submissions from one or more clientinteroperability-enabled namespaces and for maintaining a local repository of production status information about eachclient namespace, for display on the Enterprise Monitor page. Open the Monitor page on the samemachine that that is hosting this Production.</Description><ActorPoolSize>0</ActorPoolSize><Setting Target="Production" Name="ShutdownTimeout">120</Setting><Setting Target="Production" Name="UpdateTimeout">10</Setting><Item Name="MonitorService" Category="" ClassName="Ens.Enterprise.MonitorService" PoolSize="1"Enabled="true" Foreground="false" InactivityTimeout="0" Comment="Populates global^IRIS.Temp.Ens.EntMonitorStatus by polling namespaces from Systems List every CallInterval seconds"LogTraceEvents="false" Schedule=""><Setting Target="Host" Name="AlertGracePeriod">0</Setting><Setting Target="Host" Name="AlertOnError">0</Setting><Setting Target="Host" Name="ArchiveIO">0</Setting><Setting Target="Adapter" Name="CallInterval">10</Setting></Item><Item Name="MsgBankService" Category="" ClassName="Ens.Enterprise.MsgBank.TCPService" PoolSize="100"Enabled="true" Foreground="false" InactivityTimeout="20" Comment="" LogTraceEvents="true" Schedule=""><Setting Target="Host" Name="AlertGracePeriod">0</Setting><Setting Target="Host" Name="AlertOnError">0</Setting><Setting Target="Host" Name="ArchiveIO">0</Setting><Setting Target="Adapter" Name="Endian">Big</Setting><Setting Target="Adapter" Name="UseFileStream">0</Setting><Setting Target="Adapter" Name="JobPerConnection">1</Setting><Setting Target="Adapter" Name="AllowedIPAddresses"></Setting><Setting Target="Adapter" Name="QSize">100</Setting><Setting Target="Adapter" Name="CallInterval">5</Setting><Setting Target="Adapter" Name="Port">9192</Setting><Setting Target="Adapter" Name="StayConnected">-1</Setting><Setting Target="Adapter" Name="ReadTimeout">10</Setting><Setting Target="Adapter" Name="SSLConfig"></Setting></Item>
</Production>
}}

该production具有以下服务:

  • Ens.Enterprise.MsgBank.TCPService — 接受来自客户端产品的入站数据。有关配置此服务的详细信息,请参阅配置产品中的在服务器上配置消息银行服务。
  • Ens.Enterprise.MonitorService — 从客户端产品中收集状态信息。

此产品接收此数据并维护本地存储库。

出于测试目的,可以将 Message Bank 产品放在与常规产品相同的机器和实例上,但它必须位于与计划监控的任何产品不同的命名空间中。

添加Message Bank Helper

默认情况下,邮件正文未编入索引且无法搜索。可以添加一个辅助类来实现消息库中的搜索功能。为此:

  1. 在创建 Ens.Enterprise.MsgBank.BankHelperClass 的子类并实现其 OnBankMsg() 方法。

OnBankMsg() 方法指定在入站消息包含消息正文时要执行的任何自定义处理。

在此方法的实现中,应该决定是否处理进程中的消息(并可能减少输入容量),或者该方法是否应该将消息异步转发到辅助进程以更有效地平衡工作。

  1. Message Bank 制作中,选择 Ens.Enterprise.MsgBank.TCPService业务服务并指定 Bank Helper Class 设置。对于该值,请使用helper类的名称。

关于Message Bank的注意事项

请注意 Message Bank 的以下重要特征:

  • Message Bank 与贡献产品的消息体类没有同步依赖关系;因此,它接收每条消息的序列化形式。对于虚拟文档消息体,它将序列化的文档重新解析为一个对象,并接收和存储来自贡献产品的搜索表条目。

要在消息库中启用自定义模式属性搜索,请确保将自定义模式定义放置在消息库生产命名空间中。

  • 为了唯一性,消息银行产品将客户端产品的数字标识符添加到消息 ID 之前。
  • Message Bank 页面还用作查看多个客户端产品状态和调用它们的重新发送服务的门户。为了使这些额外的功能发挥作用,消息库需要知道客户作品的网址。有关详细信息,请参阅配置产品中的配置企业消息库。
  • 消息库机制不会从原始产品中删除消息;应该使用单独的清除过程来处理该功能。
  • 可以将来自消息库的消息重播回原始production或其他客户端production。请参阅监控制作中的使用企业消息库。

http://www.ppmy.cn/news/599412.html

相关文章

router-link样式设置

因为router-link是由a来实现的&#xff0c;直接在style中写 a{ text-decoration: none; color:#333; font-family:sans-serif; font-size: 12px; }

路由器无线中继设置教程

路由器无线中继其实应该叫做两个或多个路由器串联上网。主要用于这样的情况&#xff1a;有A和B两台路由器&#xff0c;A路由器用于连接(猫)上网&#xff0c;然后再用A路由器和B路由器用无线连接&#xff0c;实现B路由器也能上网。 备注&#xff1a;路由器A为主路由网关192.168…

教你设置无线wifi无缝漫游,实现无线wifi自动切换联网

转载自品略图书馆 http://www.pinlue.com/article/2018/09/1114/267036908332.html 很多人在家感觉无线wifi信号不好&#xff0c;即便家里放了多个无线wifi路由器&#xff0c;依然不能方便快捷的使用。 比如客厅一个&#xff0c;卧室一个&#xff0c;会这样的困惑&#xff1a;…

html5怎么设置路由器,图解d-link DIR-605L无线路由器怎么设置

前几天&#xff0c;朋友在网上淘得一款二手D-Link DIR-605L无线路由器&#xff0c;可拿到手后&#xff0c;朋友傻眼了&#xff0c;不知道该怎么设置&#xff0c;于是只得求助小编&#xff0c;既然朋友求助&#xff0c;哪有不帮忙的道理&#xff0c;于是今天闲来无事&#xff0c…

无线路由器接网线上网如何设置?

转自&#xff1a;微点阅读 https://www.weidianyuedu.com 对于无线路由器当有线路由器使用&#xff0c;就是如何在没有无线网卡的情况下&#xff0c;把无线路由器和电脑用LAN线连接的解析。很多情况下我们需要把无线路由器当有线路由器使用&#xff0c;就是如何在没有无线网卡…

TP-link WR841N无线路由器设置无线桥接(WDS功能)图文教程

无线路由设置对于老网虫来说不过是小菜一碟&#xff0c;但是对于一些刚接触无线路由的朋友来说可能就是无从下手了。其中路由器的拨号设置&#xff0c;安全设置和普通路由器没有区别&#xff0c;主要是无线功能有个开关&#xff0c;模式等设置&#xff0c;那么如何设置无线路由…

PHP 基础知识

目录 PHP基础 2 PHP代码标记 2 PHP注释 2 PHP语句分隔符 2 PHP变量 3 常量 3 数据类型 4 流程控制 6 文件 7 函数 9 闭包 11 常用系统函数 12 错误处理 13 错误显示设置 15 字符串类型 17 字符串相关函数 19 数组 21 遍历数组 22 数组的相关函数 25 PHP基础 PHP是一种运行在服务…

【路由器有线桥接设置教程】

路由器有线桥接设置教程 路由器有线桥接其实应该叫做两个或多个路由器串联上网。主要用于这样的情况&#xff1a;有A和B两台路由器&#xff0c;A路由器用于连接(猫)上网&#xff0c;然后再用A路由器和B路由器用网线连接&#xff0c;实现B路由器也能上网。 备注&#xff1a;路由…