2

プロデューサーを使用して Queue('test.queue') にメッセージを送信できました (また、反対側でも同じものを受け取ることができました)。方法。エラーはありませんが、消費者はメッセージを受け取りません。私を解放してください。コードは以下のとおりです:-

    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());
        }
    }
}
4

1 に答える 1

2

私はactiveMQのスペシャリストではありませんが、ほとんどのJMS実装(NMSはほぼ1:1に従っていると思います)で、消費を開始できるようにするには、接続で Start() を呼び出す必要があることを知っています

于 2012-04-19T14:16:09.830 に答える