【问题标题】:How to write to MQMessage: multiple Write calls, or StringBuilder?如何写入 MQMessage:多个写入调用或 StringBuilder?
【发布时间】:2011-01-31 01:53:04
【问题描述】:

我是 WebSphere MQ 的新手。我正在使用 IBM 的 .NET 类 (IBM.WMQ) 来放置请求消息,然后获取响应消息。 MQMessage 对象有许多用于各种数据类型的 Writexxx 方法。我需要将各种不同的数据元素写入请求消息。我的问题是,我应该为每个单独的数据元素调用适当的 Write 方法,还是应该使用 StringBuilder 构建整个事物,然后调用 MQMessage WriteString 方法一次?

【问题讨论】:

    标签: .net queue ibm-mq


    【解决方案1】:

    编写 API 是为了帮助您编写更清晰的代码,但是将 WMQ API 转换为 .Net 的人是白痴。

    他们编写了 20 种不同的 API,而不是带有重载的“写入”函数。 write 调用有一些可用的重载。

    他们创建了一个枚举,其中有 100 个,如果不是数千个选项,称为 MQC(MQ 常量)。玩得开心,但要注意 WMQ 上的事务,因为使用该功能会产生*小成本。

    现在我已经完成了我的咆哮,请注意大多数 api 在大小方面都限制有符号 int 的 API,只有 write(byte[] array) 和 writestring(string s)函数接收大消息。此外,.net api 根据 .net 的实现写入所有字符串 UTF-16,这可能会影响您。

    【讨论】:

    • 感谢您的回复(我开始怀疑我是否是唯一一个使用这些东西的人)。那么,如果您要编写一条长消息、多个“write”方法调用,或者构建您的字符串并执行一个 WriteString 调用,您会怎么做?还是写字节数组更好?
    • 取决于您的消息内容。不过,WMQ 性能对于大型消息会造成打击。正如我所说,写入字符串与字节受 UTF-16 中 .net 字符串的影响,如果您的消息很大,这可能会影响您。包含 Websphere MQ 性能的网站。 www-01.ibm.com/support/docview.wss?rs=171&uid=swg27007197
    猜你喜欢
    • 2022-07-23
    • 2011-01-15
    • 1970-01-01
    • 1970-01-01
    • 2013-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多