如何在c++中设置activemq mapmessage中的消息组id
How to set message group id in activemq mapmessage in c++
我正在用c++编写一个activemq生成器,它在。net平台上编写一个映射消息到activemq队列。当我消费相同的消息时,我使用NMSXGroupID (of the ActiveMQMapMessage type)
相应地在.net
端路由消息。
private MyBytesMessage GetMyMessage(IMessage sourceMsg)
{
if (sourceMsg == null)
return null;
MyBytesMessage myMessage = null;
ActiveMQMapMessage bMessage = sourceMsg as ActiveMQMapMessage;
if (bMessage != null)
{
if (bMessage.Body.Keys.Count > 0)
{
byte[] messageBody = bMessage.Body.GetBytes("body") as byte[];
if (messageBody != null)
{
myMessage = new MyBytesMessage(messageBody);
myMessage.MessageGroupID = bMessage.NMSXGroupID;
}
}
}
return myMessage;
}
当我写消息时,我想从c++端设置相同的id。
因为c++ ActiveMQ客户端实现了CMS API,允许您通过消息属性访问器设置组ID值。您可以检查连接元数据类,查看可以使用的所有属性的列表,就像在JMS中一样。
要设置组ID值,需要使用JMSXGroupID属性,如下所示:
message->setStringProperty("JMSXGroupID", GROUPID);
相关文章:
- boost::进程间消息队列引发错误
- 在线编译器中的分段C++没有打印消息
- C++错误消息*成员参考.**初学者*
- 在createdialog创建的窗口中捕获用于编辑控件的OnMouseMove消息
- 要与"if constexpr"一起使用的编译时消息(在预处理器之后)
- 从函数角度看ID到文件路径的内部与外部映射
- 通过组合不同的类型来创建唯一的id
- 我不断收到 [错误] ID 返回 1 退出状态错误,但看不到问题所在
- 如何通过参数抛出错误消息
- 从服务器传输到客户端的消息不会出现
- FFMPEG配置文件级别id大小无效
- 为什么我收到错误消息,在'for'之前应收到非限定 id
- C++ 文本消息解码器脚本 编译器 "expects unqualified id" 之前 if 和 else 语句
- 如何在MFC中映射错误消息框的帮助id
- 使用Win32 API列出存储在资源专用库(DLL)中的消息id和符号名称
- const int作为消息id = Recompile Everything
- (普罗托布夫)无法解析类型 "data.Data" 的消息,因为它缺少必填字段:ID
- 如何正确地将CMFCMenuButton选定的ID发送到消息映射
- 如何在c++中设置activemq mapmessage中的消息组id
- IBM MQ - WMQ C++ 获取请求的消息 ID 并将其设置为回复的相关 ID