Package org.activemq.service

Examples of org.activemq.service.MessageIdentity


        return destinationName;
    }

    public void addMessage(ActiveMQMessage message) throws JMSException {
        messageStore.addMessage(message);
        final MessageIdentity answer = message.getJMSMessageIdentity();
       
        // If there is no transaction.. then this executes directly.
        TransactionManager.getContexTransaction().addPostCommitTask(new TransactionTask(){
            public void execute() throws Throwable {
                synchronized( this ) {
View Full Code Here


     * @param messageID
     * @param storedIdentity
     * @throws JMSException
     */
    private void doDelete(MessageIdentity messageID) throws JMSException {
        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

    public void unregisterMessageInterest(MessageIdentity 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

        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

     * @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

        return xaTransacted;
    }

    public MessageIdentity getMessageIdentity() {
        if (messageIdentity == null) {
            messageIdentity = new MessageIdentity(getMessageID());
        }
        return messageIdentity;
    }
View Full Code Here

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

    protected void dumpMessageIdentities(String text) throws JMSException {
        System.out.println("#### Dumping identities at: " + text);
        for (int i = 0; i < publishMessageCount; i++) {
            ActiveMQMessage message = getMessage(i);
            MessageIdentity identity = message.getJMSMessageIdentity();
            Object sequenceNo = identity.getSequenceNumber();
            String sequenceText = null;
            if (sequenceNo != null) {
                sequenceText = toStringFromSequenceNumber(sequenceNo);
            }
            System.out.println("item: " + i + " is: " + sequenceText);
View Full Code Here

* @version $Revision: 1.1.1.1 $
*/
public abstract class QueueMessageStoreTestSupport extends MessageStoreTestSupport {

    protected void acknowledgeMessage(int i) throws JMSException {
        MessageIdentity identity = getMessage(i).getJMSMessageIdentity();
        getQueueMessageContainer().delete(identity, createMessageAck(identity, getMessage(i).getJMSDestination()));
    }
View Full Code Here

        transactionTemplate.run(new Callback() {
            public void execute() throws Throwable {
                writeMessage(0);

                // lets delete using a String which should cause a warning
                MessageIdentity messageIdentity = new MessageIdentity(messageIds[0]);
                container.delete(messageIdentity, createMessageAck(messageIdentity));
            }
        });

        System.out.println("About to write: " + messageCount + " messages to the container: " + container);
View Full Code Here

TOP

Related Classes of org.activemq.service.MessageIdentity

Copyright © 2018 www.massapicom. 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.