Package org.activemq.message

Examples of org.activemq.message.ActiveMQMessage


        try {
            if (timeout == 0) {
                return this.receive();
            }
            this.accessThread = Thread.currentThread();
            ActiveMQMessage message = (ActiveMQMessage) messageQueue.dequeue(timeout);
            this.accessThread = null;
            if (message != null) {
                boolean expired = message.isExpired();
                messageDelivered(message, true, expired);
                if (!expired) {
                    message = message.shallowCopy();
                }
                else {
                    message = (ActiveMQMessage) receiveNoWait(); //this will remove any other expired messages held in the queue
                }
            }
View Full Code Here


     */
    public Message receiveNoWait() throws JMSException {
        checkClosed();
        session.setSessionConsumerDispatchState(ActiveMQSession.CONSUMER_DISPATCH_SYNC);
        try {
            ActiveMQMessage message = null;
            //iterate through an scrub delivered but expired messages
            while ((message = (ActiveMQMessage) messageQueue.dequeueNoWait()) != null) {
                boolean expired = message.isExpired();
                messageDelivered(message, true, expired);
                if (!expired) {
                    if( message!=null && log.isDebugEnabled() ) {
                        log.debug("Message received: "+message);
                    }           
                    return message.shallowCopy();
                }
            }
        }
        catch (InterruptedException ioe) {
            throw new JMSException("Queue is interrupted: " + ioe.getMessage());
View Full Code Here

   * @see org.activemq.message.PacketListener#consume(org.activemq.message.Packet)
   */
  public void consume(Packet packet) {
    if (!closed && packet != null) {
      if (packet.isJMSMessage()) {
        ActiveMQMessage message = (ActiveMQMessage) packet;
        message.setReadOnly(true);
        message.setConsumerIdentifer(clientID);

        // lets check for expired messages which is only relevant for
        // multicast based stuff
        // as a pointcast based network should filter out this stuff
        if (transportChannel.isMulticast()) {
          long expiration = message.getJMSExpiration();
          if (expiration > 0) {
            long timeStamp = System.currentTimeMillis();
            if (timeStamp > expiration) {
              if (log.isDebugEnabled()) {
                log.debug("Discarding expired message: "
                    + message);
              }
              return;
            }
          }
        }

        try {
          int count = 0;
          for (Iterator i = this.messageDispatchers.iterator(); i
              .hasNext();) {
            ActiveMQMessageDispatcher dispatcher = (ActiveMQMessageDispatcher) i
                .next();
            if (dispatcher.isTarget(message)) {
              if (count > 0) {
                // separate message for each Session etc.
                message = message.deepCopy();
              }
              dispatcher.dispatch(message);
              count++;
            }
          }
View Full Code Here

      if (consumer.isNoLocal()) {
        filter = new AndFilter(filter, new NoLocalFilter(clientID));
      }
      for (Iterator i = transientConsumedRedeliverCache.iterator(); i
          .hasNext();) {
        ActiveMQMessage message = (ActiveMQMessage) i.next();
        if (filter.matches(message)) {
          transientConsumedRedeliverCache.remove(message);
          message.setMessageAcknowledge(session);
          message.setJMSRedelivered(true);
          message.setConsumerNos(new int[] { consumer
              .getConsumerNumber() });
          consumer.processMessage(message);
        }
      }
    }
View Full Code Here

                        destination = is.readUTF();
                        packet = wireFormat.readPacket(data);

                        // Try to replay the packet.
                        if (packet instanceof ActiveMQMessage) {
                            ActiveMQMessage msg = (ActiveMQMessage) packet;
                           
                            JournalMessageStore store = (JournalMessageStore) createMessageStore(destination, msg.getJMSActiveMQDestination().isQueue());
                            if( msg.getTransactionId()!=null ) {
                                transactionStore.addMessage(store, msg, pos);
                            } else {
                                store.replayAddMessage(msg);
                                transactionCounter++;
                            }
View Full Code Here

        // Setup space for 2 messages.
        MemoryBoundedMessageCache cache = new MemoryBoundedMessageCache(memoryManager);
        memoryManager.setValueLimit(TEST_INSTANCE_SIZE*2);
        assertEquals(0, memoryManager.getTotalMemoryUsedSize());
       
        ActiveMQMessage msg = new ActiveMQMessage();
        msg.setMemoryUsage(TEST_INSTANCE_SIZE);
        cache.put("test", msg);

        ActiveMQMessage msg2 = new ActiveMQMessage();
        msg2.setMemoryUsage(TEST_INSTANCE_SIZE);
        cache.put("test2", msg2);
       
        // Cache had space so the messages sill should be there.
        assertNotNull( cache.get("test") );
        assertNotNull( cache.get("test2") );
View Full Code Here

        MemoryBoundedMessageCache cache = new MemoryBoundedMessageCache(memoryManager);
        memoryManager.setValueLimit(TEST_INSTANCE_SIZE/2);
        assertEquals(0, memoryManager.getTotalMemoryUsedSize());
       
        for( int i=0; i < 10; i++ ) {
            ActiveMQMessage msg = new ActiveMQMessage();
            msg.setMemoryUsage(TEST_INSTANCE_SIZE);
            cache.put("first:"+i, msg);
        }       
       
        ActiveMQMessage msg = new ActiveMQMessage();
        msg.setMemoryUsage(TEST_INSTANCE_SIZE);
        cache.put("last", msg);
       
        // Only the last message should be in the cache.
        assertNull( cache.get("first:9") );
        assertNotNull( cache.get("last") );
View Full Code Here

        assertEquals("Selector for: " + text, expected, value);
    }

    protected Message createMessage(String subject) {
        ActiveMQMessage message = new ActiveMQMessage();
        message.setJMSDestination(createDestination(subject));
        return message;
    }
View Full Code Here

            Thread t = new Thread(dq);
            t.setPriority(Thread.NORM_PRIORITY - 1);
            t.start();
        }
        for (int i = 0;i < TOTAL_LOAD;i++) {
            ActiveMQMessage msg = new ActiveMQMessage();
            msg.setMemoryUsage(TEST_INSTANCE_SIZE);
            queue.enqueue(msg);
        }
        try {
            // Assert that all the consumers stopped.
            assertTrue(stoppedSemaphore.attempt(1000*30));
 
View Full Code Here

    }

    public void testClear() {
        final MemoryBoundedQueue queue = queueManager.getMemoryBoundedQueue(QUEUE_NAME);
        memoryManager.setValueLimit(TEST_INSTANCE_SIZE);
        ActiveMQMessage msg = new ActiveMQMessage();
        queue.enqueue(msg);
        queue.clear();
        assertTrue(queue.size() == 0);
        queue.close();
    }
View Full Code Here

TOP

Related Classes of org.activemq.message.ActiveMQMessage

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.