Tag: nms

ActiveMQ – 将消息发送到使用字符串指定的临时队列(C#中的NMS)

我的系统中有一个同步消息事务,该过程大致遵循以下流程: “Point A”在消息代理上创建一个临时队列(“destination 2”); 从A点发送到目的地1的消息(消息代理上的正常队列),其中ReplyTo地址设置为目的地2; point A等待目标2响应的块; B点从目的地1接收消息; B点创建一个工作对象 – 其属性是目标2的名称(使用.ToString()导出)。该工作对象被序列化并存储在DB中; … 当满足某些参数时从DB检索的对象,更改ocurr,并将响应发送到目标2 – 使用SessionUtil从存储为工作对象的字符串属性的replyto地址派生新的IDestination对象; “A点”接收来自目的地2的消息并继续。 这个过程可以从一秒到几秒完成任何事情。 我需要使用返回目标(目标2)的名称,而不是完整的IDestination对象,因为我必须序列化对象并存储在数据库中。 如果我使用永久队列或主题作为目标2,则该过程正常。 但是,尝试使用临时队列的字符串名称创建它时总是会失败。 没有错误,消息无法到达 有什么想法吗? 显示发送返回消息的示例代码: IDestination myDestination = SessionUtil.GetDestination(stateSession, instance.ReplyTo, DestinationType.Queue); stateConnection.Start(); using (IMessageProducer myProducer = stateSession.CreateProducer(myDestination)) { myProducer.DeliveryMode = MsgDeliveryMode.NonPersistent; var response = myProducer.CreateTextMessage(); response.NMSCorrelationID = instance.CorrelationID; response.Properties[“RoutingDestination”] = instance.RoutingOriginator; response.Text = “Test Response”; try { […]

什么序列化方法用于ActiveMQ NMS C#对象消息?

我打算将Apache NMS用于ActiveMQ消息传递,我想知道在我发送的对象上将使用什么序列化方法? XML /二进制? 什么控制序列化以及如何自定义? 有没有人有使用C#对象的经验? 你知道有什么陷阱吗?