Package org.codehaus.activemq.message

Examples of org.codehaus.activemq.message.MessageAck


                    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


    /**
     * @return a new Packet instance
     */

    public Packet createPacket() {
        return new MessageAck();
    }
View Full Code Here

     * @throws IOException
     */

    public void buildPacket(Packet packet, DataInput dataIn) throws IOException {
        super.buildPacket(packet, dataIn);
        MessageAck ack = (MessageAck) packet;
        ack.setConsumerId(dataIn.readUTF());
        ack.setMessageID(dataIn.readUTF());
        ack.setTransactionId(dataIn.readUTF());
       
        BitArray ba = new BitArray();
        ba.readFromStream(dataIn);
        ack.setMessageRead(ba.get(MessageAck.MESSAGE_READ_INDEX));
        ack.setXaTransacted(ba.get(MessageAck.XA_TRANSACTED_INDEX));
        ack.setPersistent(ba.get(MessageAck.PERSISTENT_INDEX));
        ack.setDestination(ActiveMQDestination.readFromStream(dataIn));
        if (wireFormatVersion >= 2){
            ack.setExpired(ba.get(MessageAck.EXPIRED_INDEX));
        }
    }
View Full Code Here

     * @throws IOException thrown if an error occurs
     */

    public void writePacket(Packet packet, DataOutput dataOut) throws IOException {
        super.writePacket(packet, dataOut);
        MessageAck ack = (MessageAck) packet;
        super.writeUTF(ack.getConsumerId(), dataOut);
        super.writeUTF(ack.getMessageID(), dataOut);
        super.writeUTF(ack.getTransactionId(), dataOut);
       
        BitArray ba = new BitArray();
        ba.set(MessageAck.MESSAGE_READ_INDEX, ack.isMessageRead());
        ba.set(MessageAck.XA_TRANSACTED_INDEX, ack.isXaTransacted());
        ba.set(MessageAck.PERSISTENT_INDEX,ack.isPersistent());
        if (wireFormatVersion >= 2){
            ba.set(MessageAck.EXPIRED_INDEX,ack.isExpired());
        }
        ba.writeToStream(dataOut);
       
        ActiveMQDestination.writeToStream((ActiveMQDestination) ack.getDestination(), dataOut);
    }
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

    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

        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

    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

    }
  }

  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

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.