有时消息过大,超出 QAManager 属性 MAX_IN_MEMORY_MESSAGE_SIZE 设置的限制,或超出其缺省值(在 Windows 上为 1MB,在 Windows Mobile 上为 64KB)的限制。在这种情况下,内存中的消息对象无法包含此消息的完整内容,因此一些依赖于载入内存中的消息的完整内容的方法(如 readInt() 和 readString())便无法使用。但是,您可以直接从消息存储库中逐段读取非常大的消息。为此,请循环使用 QATextMessage.readText() 或 QABinaryMessage.readBinary()。
SQL API 不支持接收非常大的消息。
有关详细信息,请参见:
这样做时,不能使用以 IMPLICIT_ACKNOWLEDGEMENT 打开的 QAManager。必须使用以 EXPLICIT_ACKNOWLEDGEMENT 打开的 QAManager,并且必须在确认该消息之前完成全部 readText() 或 readBinary() 调用。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |