2014-01-23 3 views
0

Я хочу установить уникальное руководство для каждого сообщения в заголовке сообщения, а затем, если захочу, я могу удалить конкретное сообщение, если захочу. Есть ли api в NMS, который может помочь мне удалить сообщение? Я использую ActiveMQ 5.9.0 и NMS 1.6.1Могу ли я удалить сообщение из очереди ActiveMQ в коде C#?

ответ

0

Да, хотя только если у этого пункта назначения нет активных потребителей. Вы можете сделать что-то вроде этого:

protected static void DeleteDestination() 
    { 
     IConnectionFactory factory = new ConnectionFactory(ReplaceEnvVar(connectionURI)); 

     using (Connection connection = factory.CreateConnection() as Connection) 
     { 
      using (ISession session = connection.CreateSession()) 
      { 
       IQueue queue = session.GetQueue(testQueueName); 
       try 
       { 
        connection.DeleteDestination(queue); 
       } 
       catch 
       { 
       } 
      } 
     } 
    } 
+0

Привет, мистер Биш. У меня есть еще два вопроса. Во-первых, я хочу удалить сообщение из queeu, когда есть еще активные пользователи. Во-вторых, я думаю, что ваш код удалит всю очередь, правда? Я хочу удалить некоторые сообщения из очереди, а не весь пункт назначения, и эти сообщения идентифицируются по их указателю, установленному отправителем. – hellknight

+0

Можно ли вызвать REST-управление api в C#? если ответ «да», могу ли я привести пример? заранее спасибо. – hellknight

+0

Да, это возможно. Используйте Google и узнайте что-то новое. –

 Смежные вопросы

  • Нет связанных вопросов^_^