2
我可以發送郵件到隊列('test.queue')與製片人(也可以在另一端收到相同的郵件) 但我無法從回覆目的地('確認')收到回覆消息與消費者。 receive()方法。 沒有error.but消費者沒有收到任何msg.Please讓我走出來。 代碼已經給出如下: -如何使用activeMQ NMS和C#實現同步請求響應應用程序?
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());
}
}
}
請注意,它應該是消費者的同步接收器 – 2012-04-19 13:32:13