gpt4 book ai didi

c# - 如何使用activeMQ NMS和C#实现同步请求-响应应用程序?

转载 作者:太空宇宙 更新时间:2023-11-03 11:23:17 24 4
gpt4 key购买 nike

我可以与生产者一起将消息发送到 Queue('test.queue')(我也可以在另一端收到相同的消息)但是我无法使用 consumer.receive() 方法从回复目的地('确认')收到回复消息。没有错误。但消费者没有收到任何消息。请让我摆脱它。代码如下:-

    class Program
{
private const String URI = "tcp://localhost:61616";
private const String DESTINATION = "test.queue";
static void Main(String[] args)
{
ConnectionFactory connectionFactory = new ConnectionFactory(URI);
connectionFactory.ClientId = connectionFactory.ClientIdGenerator.GenerateId(); ;
IMessageProducer prod;
String s = String.Empty;
while (s.ToLower() != "exit")
{
s = Console.ReadLine();
ISession ses = connectionFactory.CreateConnection().CreateSession();
prod = ses.CreateProducer();
IMessage msg=ses.CreateTextMessage(s);
NmsDestinationAccessor destinationResolver = new NmsDestinationAccessor();
IDestination destination = destinationResolver.ResolveDestinationName(ses, DESTINATION);
IDestination replyDestination = destinationResolver.ResolveDestinationName(ses, "confirm");
IMessageConsumer consumer = ses.CreateConsumer(replyDestination);
prod.Send(destination, msg);
IMessage im= consumer.Receive();
ses.Commit();
Console.WriteLine(im.ToString());
}
}
}

最佳答案

我不是 activeMQ 专家,但我知道在大多数 JMS 实现中(我认为 NMS 几乎遵循 1:1)你需要在你的连接上调用 Start() 以允许消费开始

关于c# - 如何使用activeMQ NMS和C#实现同步请求-响应应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10228815/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com