コード例 #1
0
        public void TestQueueBrowsingLVQ()
        {
            // Create a topic with one producer and two consumers.
            SetUpEndPoint(0, true, false, TEST_ROUTING_KEY2 + testId, AcknowledgeMode.AutoAcknowledge, false, ExchangeNameDefaults.DIRECT, true, true, TEST_ROUTING_KEY2 + testId, false, false);
            FieldTable args = new FieldTable();

            args.SetBoolean("qpid.last_value_queue", true);
            args.SetString("qpid.last_value_queue_key", "key");
            testChannel[0].DeclareQueue(TEST_ROUTING_KEY2 + testId, true, false, false, args);
            testChannel[0].Bind(TEST_ROUTING_KEY2 + testId, ExchangeNameDefaults.DIRECT, TEST_ROUTING_KEY2 + testId);
            Thread.Sleep(500);


            for (int i = 0; i < 12; i++)
            {
                ITextMessage msg = testChannel[0].CreateTextMessage("msg");
                msg.Headers.SetInt("key", i % 6);
                testProducer[0].Send(msg);
            }

            Thread.Sleep(2000);

            SetUpEndPoint(1, false, true, TEST_ROUTING_KEY2 + testId, AcknowledgeMode.NoAcknowledge, false, ExchangeNameDefaults.DIRECT, true, true, TEST_ROUTING_KEY2 + testId, false, true);
            SetUpEndPoint(2, false, true, TEST_ROUTING_KEY2 + testId, AcknowledgeMode.NoAcknowledge, false, ExchangeNameDefaults.DIRECT, true, true, TEST_ROUTING_KEY2 + testId, false, true);

            Thread.Sleep(500);


            ConsumeNMessagesOnly(6, "msg", testConsumer[1]);
            ConsumeNMessagesOnly(6, "msg", testConsumer[2]);

            // Clean up any open consumers at the end of the test.
            CloseEndPoint(2);
            CloseEndPoint(1);
            CloseEndPoint(0);
        }
コード例 #2
0
 public void SetString(string propertyName, string value)
 {
     CheckPropertyName(propertyName);
     _headers.SetString(propertyName, value);
 }