-1

activemq に問題があります。activemq キューから特別なメッセージを受け取りたいです。300 を超えるメッセージがあり、メッセージの 1 つが必要です。これを multiselectcombobox で解決しました。このボックスには、必要なすべてのプロパティを含むすべてのメッセージがあります。

247アイテムをクリックすると、メッセージを受信するアイテムを選択したいのですが、メッセージを送信したいのですが、最初に受信に問題があります。

なぜうまくいかないのかわかりません。多分誰かがアイデアを持っていますか?

ErrorMessageProperty prop = new ErrorMessageProperty();
IMessage message = null;

try
{
    string MsgID = MSGID;
    string desinationque = sourceQueue;
    string selector = "ProducerId = '" + MsgID + "'";
    IDestination dest = MQSession.GetDestination(desinationque);
    Uri _activeMQURI = new Uri(conf.ActiveMqURL);
    MQConnectionFactory = new NMSConnectionFactory(_activeMQURI);

    using (MQConnection = MQConnectionFactory.CreateConnection(conf.ActiveMqUser, conf.ActiveMqPWD))
    using (MQSession = MQConnection.CreateSession(AcknowledgementMode.AutoAcknowledge))
    {
        try
        {
            MQConnection.Start();
        }
        catch (Exception ex)
        {
            myLogger.NLogger.Info("MQReceiveTextMessage Connection fehlgeschlagen: " + ex.Message);
        }

        using (IMessageConsumer consumer = this.MQSession.CreateConsumer(dest, selector,false))
        {
            if (shallwait)
            {
                try
                {
                    message = consumer.Receive();
                }
                catch (Exception ex)
                {
                    myLogger.NLogger.Error("Error in consumer Receive (MQReceiveTextMessage): Message" + message + " Fehler-Exception: " + ex.Message);
                }
            }
            else
            {
                message = consumer.Receive(TimeSpan.FromSeconds(1));
            }
        }
    }
}
catch (Exception ex)
{
    myLogger.NLogger.Error("Error in MQReceiveTextMessage: Parameter: sourceQueue: " + sourceQueue + " MSGID: " + MSGID + " Message: " + message + " Fehler-Exception: " + ex.Message);
}

return message;
}

私のProducerIDは正しいです。しかし、なぜこれが機能しないのでしょうか。ラインで止まります

message = consumer.receive();

もうわからない

4

2 に答える 2