选择文件库变满时的消息传递引擎行为
可指定文件库变满并且应用程序尝试继续发送消息时消息传递引擎要执行的操作。可让应用程序线程等待检查点完成或立即抛出异常。
关于此任务
如果文件库变满,那么消息传递引擎将执行日志文件检查点以协调上次检查点以来的所有消息发送和接收。此过程可能需要一些时间来完成。在文件存储器变满与检查完成所间隔的时间内,如果应用程序尝试发送消息,那么消息传递引擎将抛出异常 ObjectStoreFullException 并发出消息 CWSOM1042E。
发送消息的应用程序线程发现文件库变满时,它会请求检查点。缺省行为是应用程序线程立即对应用程序抛出 ObjectStoreFullException 异常。可选择替代行为,即,应用程序线程不抛出该异常,而是等待至检查点完成。如果检查点释放了文件库中的可用空间,那么应用程序线程在返回之前会继续并发送消息。如果在检查点后文件库仍处于已满状态,那么应用程序线程会对应用程序抛出该异常。
选择在应用程序删除文件库中的所有消息时让应用程序线程等待,这样它们可从逻辑上知道文件库不再处于已满状态。虽然应用程序仍必须等到检查完成,但它们在检查执行期间不会接收到异常,因此不必重试发送。
要更改文件库变满时的行为,请使用管理控制台以按如下方式设置 sib.msgstore.storeFullWaitForCheckPoint 属性的值:
过程
- 在导航窗格中,单击 。
- 输入属性名 sib.msgstore.storeFullWaitForCheckPoint。
- 输入值 true 以使应用程序线程在返回之前等待检查点完成。 缺省值 false 使应用程序线程在请求检查点后立即抛出 ObjectStoreFullException 异常。
- 单击确定。
- 将更改保存至主配置。
下一步做什么
切记: 如果更改此属性,那么在您重新启动消息传递引擎之前,新值将不会生效。