Examples of MessageIdentity


Examples of org.codehaus.activemq.service.MessageIdentity

     */
    protected ActiveMQMessage getMessageBySequenceNumber(Long sequenceNumber) throws IOException, JMSException {
        ActiveMQMessage message = null;
        String messageID = (String) getOrderedIndex().find(sequenceNumber);
        if (messageID != null) {
            message = getMessage(new MessageIdentity(messageID, sequenceNumber));
        }
        return message;
    }
View Full Code Here

Examples of org.codehaus.activemq.service.MessageIdentity

  /**
   * Add the meessage to the long term store and cache it.
   */
  public MessageIdentity addMessage(ActiveMQMessage message) throws JMSException {   
    MessageIdentity messageIdentity = longTermStore.addMessage(message);
    cache.put(messageIdentity.getMessageID(), message);   
    return messageIdentity;
  }
View Full Code Here

Examples of org.codehaus.activemq.service.MessageIdentity

      addedMessageLocations.put(message.getJMSMessageIdentity(), location);
    }

    // Update the messageIdentity sequence number so that we can reteive the message
    // from the journal at a later time.
    MessageIdentity messageIdentity = message.getJMSMessageIdentity();
    messageIdentity.setSequenceNumber(location);
    return messageIdentity;
 
View Full Code Here

Examples of org.codehaus.activemq.service.MessageIdentity

      public void execute() throws Throwable {
       
        // Checkpoint the added messages.
        Iterator iterator = addedMessageIdentitys.iterator();
        while (iterator.hasNext()) {         
          MessageIdentity identity = (MessageIdentity) iterator.next();
         
          ActiveMQMessage msg = getCacheMessage(identity);
          longTermStore.addMessage(msg);
          synchronized(this) {
            RecordLocation location = (RecordLocation)addedMessageLocations.remove(identity);
View Full Code Here

Examples of org.codehaus.activemq.service.MessageIdentity

    public synchronized void recoverSubscription(Subscription subscription, MessageIdentity lastDispatchedMessage) throws JMSException {
        //iterate through the message table and populate the subscriber
        Map map = new HashMap(messageTable);
        boolean alreadyAcked = true;
        MessageIdentity lastAcked = (MessageIdentity)ackDatabase.get(subscription.getPersistentKey());
        for (Iterator i = map.values().iterator(); i.hasNext(); ){
            ActiveMQMessage msg = (ActiveMQMessage)i.next();
            if (lastAcked == null || !alreadyAcked){
                subscription.addMessage(container, msg);
            }
            if (lastAcked != null){
                if (lastAcked.getMessageID().equals(msg.getJMSMessageID())){
                    alreadyAcked = false;
                }
            }
        }
    }
View Full Code Here

Examples of org.codehaus.activemq.service.MessageIdentity

    public String getDestinationName() {
        return destinationName;
    }

    public MessageIdentity addMessage(ActiveMQMessage message) throws JMSException {
        MessageIdentity answer = messageStore.addMessage(message);
        synchronized( this ) {
          messagesToBeDelivered.add(answer);
        }
        return answer;
View Full Code Here

Examples of org.codehaus.activemq.service.MessageIdentity

    public synchronized void delete(MessageIdentity messageID, MessageAck ack) throws JMSException {
       
        // lets find the cached identity as it has the sequence number
        // attached to it
      MessageIdentity storedIdentity=null;

      synchronized( this ) {
          QueueListEntry entry = deliveredMessages.getFirstEntry();
          while (entry != null) {
              MessageIdentity identity = (MessageIdentity) entry.getElement();
              if (messageID.equals(identity)) {
                  deliveredMessages.remove(entry);
                  storedIdentity=identity;
                  break;
              }
              entry = deliveredMessages.getNextEntry(entry);
          }
         
          if (storedIdentity==null) {
              // maybe the messages have not been delivered yet
              // as we are recovering from a previous transaction log
              entry = messagesToBeDelivered.getFirstEntry();
              while (entry != null) {
                  MessageIdentity identity = (MessageIdentity) entry.getElement();
                  if (messageID.equals(identity)) {
                      messagesToBeDelivered.remove(entry);
                      storedIdentity=identity;
                      break;
                  }
View Full Code Here

Examples of org.codehaus.activemq.service.MessageIdentity

    public void unregisterMessageInterest(MessageIdentity messageIdentity, MessageAck ack) {
    }

    public ActiveMQMessage poll() throws JMSException {
        ActiveMQMessage message = null;
        MessageIdentity messageIdentity=null;
      synchronized( this ) {
          messageIdentity = (MessageIdentity) messagesToBeDelivered.removeFirst();
          if (messageIdentity != null) {
              deliveredMessages.add(messageIdentity);
          }
View Full Code Here

Examples of org.codehaus.activemq.service.MessageIdentity

        return message;
    }

    public ActiveMQMessage peekNext(MessageIdentity messageID) throws JMSException {
      ActiveMQMessage answer = null;
      MessageIdentity identity = null;
      synchronized( this ) {
            if (messageID == null) {
              identity = (MessageIdentity) messagesToBeDelivered.getFirst();
            }
            else {
View Full Code Here

Examples of org.codehaus.activemq.service.MessageIdentity

     * @throws javax.jms.JMSException
     */
    public synchronized void reset() throws JMSException {
        //new Message Consumer - move all filtered/undispatched messages to front of queue
        int count = 0;
        MessageIdentity messageIdentity = (MessageIdentity) deliveredMessages.removeFirst();
        while (messageIdentity != null) {
            messagesToBeDelivered.add(count++, messageIdentity);
            messageIdentity = (MessageIdentity) deliveredMessages.removeFirst();
        }
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.