Package org.codehaus.activemq.message

Examples of org.codehaus.activemq.message.MessageAck


    protected void doAcknowledge(boolean isClosing) throws JMSException {
        checkClosed();
        if (this.acknowledgeMode == Session.CLIENT_ACKNOWLEDGE) {
            ActiveMQMessage msg = null;
            while ((msg = (ActiveMQMessage) deliveredMessages.removeFirst()) != null) {
                MessageAck ack = new MessageAck();
                ack.setConsumerId(msg.getConsumerId());
                ack.setMessageID(msg.getJMSMessageID());
                if (!isClosing) {
                    ack.setMessageRead(msg.isMessageConsumed());
                }
                ack.setId(packetIdGenerator.generateId());
                ack.setDestination(msg.getJMSActiveMQDestination());
                ack.setPersistent(msg.getJMSDeliveryMode() == DeliveryMode.PERSISTENT);
                this.connection.asyncSendPacket(ack, false);
            }
            deliveredMessages.clear();
        }
    }
View Full Code Here


            //the sendAcknowledge flag is set for all messages expect those destined
            //for transient Topic subscribers
            if (sendAcknowledge && !isClientAcknowledge()) {
                try {
                    doStartTransaction();
                    MessageAck ack = new MessageAck();
                    ack.setConsumerId(message.getConsumerId());
                    ack.setTransactionId(this.currentTransactionId);
                    ack.setMessageID(message.getJMSMessageID());
                    ack.setMessageRead(messageConsumed);
                    ack.setId(packetIdGenerator.generateId());
                    ack.setXaTransacted(isXaTransacted());
                    ack.setDestination(message.getJMSActiveMQDestination());
                    ack.setPersistent(message.getJMSDeliveryMode() == DeliveryMode.PERSISTENT);
                    ack.setExpired(messageExpired);
                    this.connection.asyncSendPacket(ack);
                }
                catch (JMSException e) {
                    log.warn("failed to notify Broker that message is delivered", e);
                }
View Full Code Here

                    consumeActiveMQMessage(message);
                }
                else {
                    switch (packet.getPacketType()) {
                        case Packet.ACTIVEMQ_MSG_ACK : {
                            MessageAck ack = (MessageAck) packet;
                            consumeMessageAck(ack);
                            break;
                        }
                        case Packet.XA_TRANSACTION_INFO : {
                            XATransactionInfo info = (XATransactionInfo) packet;
View Full Code Here

                    consumeActiveMQMessage(message);
                }
                else {
                    switch (packet.getPacketType()) {
                        case Packet.ACTIVEMQ_MSG_ACK : {
                            MessageAck ack = (MessageAck) packet;
                            consumeMessageAck(ack);
                            break;
                        }
                        case Packet.XA_TRANSACTION_INFO : {
                            XATransactionInfo info = (XATransactionInfo) packet;
View Full Code Here

    MessageAckReader reader = new MessageAckReader();
    assertTrue(reader.getPacketType() == Packet.ACTIVEMQ_MSG_ACK);
  }

  public void testReadPacket() {
    MessageAck ack = new MessageAck();
    ack.setId(this.id);
        ack.setConsumerId(this.consumerId);
    ack.setTransactionId(this.transactedId);
        ack.setMessageID(messageId);
        ack.setMessageRead(this.messageRead);
        ack.setPersistent(persistent);
        ack.setXaTransacted(xaTransacted);
        ack.setDestination(destination);

    MessageAckWriter writer = new MessageAckWriter();
    MessageAckReader reader = new MessageAckReader();
    try {
      byte[] data = writer.writePacketToByteArray(ack);
      MessageAck mack = (MessageAck) reader.readPacketFromByteArray(data);

      assertTrue(mack.getId().equals(this.id));
      assertTrue(mack.getConsumerId().equals(this.consumerId));
            assertTrue(mack.getTransactionId().equals(this.transactedId));
            assertTrue(mack.isMessageRead()==this.messageRead);
            assertTrue(mack.isPersistent()==this.persistent);
            assertTrue(mack.isXaTransacted()==this.xaTransacted);
            assertTrue(mack.getDestination().equals(this.destination));
    }
    catch (Throwable e) {
      e.printStackTrace();
      assertTrue(false);
    }
View Full Code Here

    protected void recover() throws JMSException {
    }

    protected MessageAck createMessageAck(MessageIdentity messageIdentity) {
        MessageAck answer = new MessageAck();
        answer.setConsumerId("James");
        answer.setMessageID(messageIdentity.getMessageID());
        answer.setMessageRead(true);
        return answer;
    }
View Full Code Here

    }
  }

  public void testTime() {

    MessageAck ack = new MessageAck();
        ack.setId(this.id);
        ack.setConsumerId(this.consumerId);
        ack.setTransactionId(this.transactedId);
        ack.setMessageID(messageId);
        ack.setMessageRead(this.messageRead);
        ack.setPersistent(persistent);
        ack.setXaTransacted(xaTransacted);
        ack.setDestination(destination);

    MessageAckWriter writer = new MessageAckWriter();
    MessageAckReader reader = new MessageAckReader();
    try {
      int count = 100000;
      long startTime = System.currentTimeMillis();
      for (int i = 0; i < count; i++) {
        byte[] data = writer.writePacketToByteArray(ack);
        MessageAck mack = (MessageAck) reader.readPacketFromByteArray(data);
      }
      long finishTime = System.currentTimeMillis();
      long totalTime = finishTime - startTime;
      long ps = (count * 1000) / totalTime;
      System.out.println("Time taken :" + totalTime + " for " + count + "iterations, = " + ps + " per sec.");
View Full Code Here

        String text = message.getText();
        assertEquals("Message text should be equal", messageTexts[i], text);
    }

    protected MessageAck createMessageAck(MessageIdentity messageIdentity) {
        MessageAck answer = new MessageAck();
        answer.setConsumerId(idGenerator.generateId());
        answer.setMessageID(messageIdentity.getMessageID());
        answer.setMessageRead(true);
        return answer;
    }
View Full Code Here

                    consumeActiveMQMessage(message);
                }
                else {
                    switch (packet.getPacketType()) {
                        case Packet.ACTIVEMQ_MSG_ACK : {
                            MessageAck ack = (MessageAck) packet;
                            consumeMessageAck(ack);
                            break;
                        }
                        case Packet.XA_TRANSACTION_INFO : {
                            XATransactionInfo info = (XATransactionInfo) packet;
View Full Code Here

                            catch (Throwable e) {
                                log.error("Recovery Failure: Could not add message: " + msg.getJMSMessageIdentity().getMessageID() + ", reason: " + e, e);
                            }
                        }
                        else if (packet instanceof MessageAck) {
                            MessageAck ack = (MessageAck) packet;
                            try {
                                store.getLongTermStore().removeMessage(ack.getMessageIdentity(), ack);
                                transactionCounter++;
                            }
                            catch (Throwable e) {
                                log.error("Recovery Failure: Could not remove message: " + ack.getMessageIdentity().getMessageID() + ", reason: " + e, e);
                            }
                        }
                        else {
                            log.error("Unknown type of packet in transaction log which will be discarded: " + packet);
                        }
View Full Code Here

TOP

Related Classes of org.codehaus.activemq.message.MessageAck

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.