Examples of MessageIdentity


Examples of org.codehaus.activemq.service.MessageIdentity

    public String getDestinationName() {
        return destinationName;
    }

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

Examples of org.codehaus.activemq.service.MessageIdentity

    /**
     * @see org.codehaus.activemq.store.TopicMessageStore#getLastestMessageIdentity()
     */
    public MessageIdentity getLastestMessageIdentity() throws JMSException {
        return new MessageIdentity(null, new Long(sequenceGenerator.getLastSequenceId()));
    }
View Full Code Here

Examples of org.codehaus.activemq.service.MessageIdentity

        Connection c = null;
        try {
            c = persistenceAdapter.getConnection();
            adapter.doRecoverSubscription(c, destinationName, subscription.getPersistentKey(), new MessageListResultHandler() {
                public void onMessage(long seq, String messageID) throws JMSException {
                    MessageIdentity messageIdentity = new MessageIdentity(messageID, new Long(seq));
                    ActiveMQMessage message = getMessage(messageIdentity);
                    subscription.addMessage(container, message);
                }
            });
        }
View Full Code Here

Examples of org.codehaus.activemq.service.MessageIdentity

            Transaction transaction = BDbHelper.getTransaction();
            DatabaseEntry key = createKey(messageID);
            DatabaseEntry value = new DatabaseEntry(asBytes(message));
            database.put(transaction, key, value);

            MessageIdentity answer = message.getJMSMessageIdentity();
            answer.setSequenceNumber(sequenceNumberCreator.getLastKey());
        }
        catch (DatabaseException e) {
            throw JMSExceptionHelper.newJMSException("Failed to broker message: " + messageID + " in container: " + e, e);
        }
        catch (IOException e) {
View Full Code Here

Examples of org.codehaus.activemq.service.MessageIdentity

        }
    }

    public void removeMessage(MessageAck ack) throws JMSException {
        checkClosed();
        MessageIdentity identity = ack.getMessageIdentity();
        String messageID = identity.getMessageID();
        try {
            Transaction transaction = BDbHelper.getTransaction();

            // we need to find the alternative primary key for the given messageID
            DatabaseEntry sequenceNumber = getSequenceNumberKey(identity);
View Full Code Here

Examples of org.codehaus.activemq.service.MessageIdentity

            DatabaseEntry keyEntry = new DatabaseEntry();
            DatabaseEntry valueEntry = new DatabaseEntry();
            OperationStatus status = cursor.getFirst(sequenceNumberEntry, keyEntry, valueEntry, LockMode.DEFAULT);
            while (status == OperationStatus.SUCCESS) {
                String messageID = extractString(keyEntry);
                container.recoverMessageToBeDelivered(new MessageIdentity(messageID, sequenceNumberEntry));
                status = cursor.getNext(sequenceNumberEntry, keyEntry, valueEntry, LockMode.DEFAULT);
            }
            if (status != OperationStatus.NOTFOUND) {
                log.warn("Unexpected status code while recovering: " + status);
            }
View Full Code Here

Examples of org.codehaus.activemq.service.MessageIdentity

            OperationStatus status = cursor.getLast(keyEntry, valueEntry, LockMode.DEFAULT);
            if (status == OperationStatus.SUCCESS) {
                if (log.isDebugEnabled()) {
                    log.debug("Loaded last sequence number of: " + BDbHelper.longFromBytes(keyEntry.getData()));
                }
                return new MessageIdentity(null, keyEntry);
            }
            else if (status != OperationStatus.NOTFOUND) {
                log.error("Could not find the last sequence number. Status: " + status);
            }
            return null;
View Full Code Here

Examples of org.codehaus.activemq.service.MessageIdentity

     * @return the message identity, which contains the String messageID
     *         and the lazily populated sequence number
     */
    public MessageIdentity getJMSMessageIdentity() {
        if (jmsMessageIdentity == null) {
            jmsMessageIdentity = new MessageIdentity(this.getJMSMessageID());
        }
        return jmsMessageIdentity;
    }
View Full Code Here

Examples of org.codehaus.activemq.service.MessageIdentity

      public void execute() throws Throwable {
       
        // Checkpoint the added messages.
        Iterator iterator = addedMessageIds.keySet().iterator();
        while (iterator.hasNext()) {         
          MessageIdentity identity = (MessageIdentity) iterator.next();         
          ActiveMQMessage msg = getCacheMessage(identity);
          // Pull it out of the journal if we have to.
          if( msg==null ) {
              RecordLocation location = (RecordLocation) addedMessageIds.get(identity);
            msg = (ActiveMQMessage) peristenceAdapter.readPacket((RecordLocation)location);
View Full Code Here

Examples of org.codehaus.activemq.service.MessageIdentity

        }
        try {
            String messageID = message.getJMSMessageID();
            getMessageTable().insert(messageID, entry, true);
            getOrderedIndex().insert(sequenceNumber, messageID, true);
            MessageIdentity answer = message.getJMSMessageIdentity();
            answer.setSequenceNumber(sequenceNumber);
        }
        catch (IOException e) {
            throw JMSExceptionHelper.newJMSException("Failed to add message: " + message + " in container: " + e, e);
        }
    }
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.