Ejemplo n.º 1
0
        /// <summary>
        /// Redeliver the given message, putting it at the head of the queue
        /// </summary>
        public void Redeliver(ActiveMQMessage message)
        {
            lock (semaphore)
			{
				messagesToRedeliver.Add(message);
            }
        }
 public void SetObjectProperty(ActiveMQMessage message, string name, object value) {
     PropertySetter setter = (PropertySetter) setters[name];
     if (setter != null) {
         setter(message, value);
     }
     else {
         message.Properties[name] = value;
     }
 }
 public object GetObjectProperty(ActiveMQMessage message, string name) {
     object getter = getters[name];
     if (getter != null) {
     }
     return message.Properties[name];
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Configures the message command
 /// </summary>
 protected void Configure(ActiveMQMessage message)
 {
 }
Ejemplo n.º 5
0
                // Implementation methods
				public void DoSend(ActiveMQMessage message)
                {
					if (AsyncSend)
					{
						connection.OneWay(message);
					}
					else
					{
						connection.SyncRequest(message);
					}
                }
Ejemplo n.º 6
0
 public IMessage CreateMessage()
 {
         ActiveMQMessage answer = new ActiveMQMessage();
         Configure(answer);
         return answer;
 }
Ejemplo n.º 7
0
 /// <summary>
 /// Method Enqueue
 /// </summary>
 public void Enqueue(ActiveMQMessage message)
 {
     lock (semaphore)
     {
         queue.Enqueue(message);
         messageReceivedEventHandle.Set();
     }
 }
Ejemplo n.º 8
0
 public bool matches(ActiveMQMessage message) {
         return matches(message.Destination);
 }
Ejemplo n.º 9
0
 /// <summary>
 /// Method Dispatch
 /// </summary>
 /// <param name="message">An ActiveMQMessage</param>
 public void Dispatch(ActiveMQMessage message)
 {
     dispatcher.Enqueue(message);
 }
Ejemplo n.º 10
0
 public void AfterRollback(ActiveMQMessage message)
 {
     // lets redeliver the message again
     message.RedeliveryCounter += 1;
     if (message.RedeliveryCounter > MaximumRedeliveryCount)
     {
         // lets send back a poisoned pill
         MessageAck ack = new MessageAck();
         ack.AckType = (int) AckType.PoisonAck;
         ack.ConsumerId = info.ConsumerId;
         ack.Destination = message.Destination;
         ack.FirstMessageId = message.MessageId;
         ack.LastMessageId = message.MessageId;
         ack.MessageCount = 1;
         session.Connection.OneWay(ack);
     }
     else
     {
         dispatcher.Redeliver(message);
     }
 }
Ejemplo n.º 11
0
 protected void DoClientAcknowledge(ActiveMQMessage message)
 {
     if (acknowledgementMode == AcknowledgementMode.ClientAcknowledge)
     {
         DoAcknowledge(message);
     }
 }
Ejemplo n.º 12
0
 /// <summary>
 /// Method Enqueue
 /// </summary>
 public void Enqueue(ActiveMQMessage message)
 {
     lock (semaphore)
     {
         queue.Enqueue(message);
         PulseSemaphore();
     }
 }