Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (中文) » QAnywhere » 编写 QAnywhere 客户端应用程序

 

读取非常大的消息

有时消息过大,超出 QAManager 属性 MAX_IN_MEMORY_MESSAGE_SIZE 设置的限制,或超出其缺省值(在 Windows 上为 1MB,在 Windows Mobile 上为 64KB)的限制。在这种情况下,内存中的消息对象无法包含此消息的完整内容,因此一些依赖于载入内存中的消息的完整内容的方法(如 readInt() 和 readString())便无法使用。但是,您可以直接从消息存储库中逐段读取非常大的消息。为此,请循环使用 QATextMessage.readText() 或 QABinaryMessage.readBinary()。

有关详细信息,请参见:

这样做时,不能使用以 IMPLICIT_ACKNOWLEDGEMENT 打开的 QAManager。必须使用以 EXPLICIT_ACKNOWLEDGEMENT 打开的 QAManager,并且必须在确认该消息之前完成全部 readText() 或 readBinary() 调用。

请参见确认模式