本主题说明当递延终止数据库时,WebSphere Message Broker要求的行为。
数据库管理员对数据库发出递延终止指令,这不是代理的功能。
本主题假定被递延终止的数据库满足三个条件:
- 数据库可以递延终止
- 当数据库在递延终止时,它会阻止新的连接
- 使用数据库的消息流最终会变得空闲
下面的列表显示在递延终止数据库时要求的行为:
- 告诉数据库要递延终止。一旦您告诉数据库要递延终止,正在使用的连接会保持使用状态,但不允许新的数据库连接。
- 处理消息。在使用现有数据库连接的消息会继续使用它们的连接,直到连接变得空闲。
如果继续处理消息,这会耗费很长一段时间。
要确保不再处理消息,请停止消息流。
停止消息流会停止正在处理的消息,并释放消息流正在使用的数据库连接。
这会确保消息流持有的数据库连接变得空闲。
- 消息流的数据库连接变得空闲。
这会造成代理释放消息流正在使用的用户数据库的连接。当所有来自代理的数据库连接,以及来自任何使用该数据库的其他应用程序的数据库连接释放之后,数据库就可以完成其递延终止功能。