Examples of DMQManager


Examples of org.objectweb.joram.mom.util.DMQManager

   * @return true if the message has been added. false if the queue is full.
   */
  protected final synchronized boolean addMessage(Message message) {

    if (nbMaxMsg > -1 && nbMaxMsg <= messages.size()) {
      DMQManager dmqManager = new DMQManager(dmqId, getId());
      nbMsgsSentToDMQSinceCreation++;
      dmqManager.addDeadMessage(message.getFullMessage(), MessageErrorConstants.QUEUE_FULL);
      dmqManager.sendToDMQ();
      return false;
    }

    if (messages.isEmpty()) {
      samePriorities = true;
View Full Code Here

Examples of org.objectweb.joram.mom.util.DMQManager

      logger.log(BasicLevel.DEBUG, " -> requests = " + requests + ')');

    long current = System.currentTimeMillis();
    cleanWaitingRequest(current);
    // Cleaning the possibly expired messages.
    DMQManager dmqManager = cleanPendingMessage(current);

    // Processing each request as long as there are deliverable messages:
    while (! messages.isEmpty() && index < requests.size()) {
      notRec = (ReceiveRequest) requests.get(index);
      notMsg = new QueueMsgReply(notRec);

      lsMessages = getMessages(notRec.getMessageCount(), notRec.getSelector(), notRec.getAutoAck());

      if (logger.isLoggable(BasicLevel.DEBUG))
        logger.log(BasicLevel.DEBUG, "Queue.deliverMessages: notRec.getAutoAck() = " + notRec.getAutoAck()
            + ", lsMessages = " + lsMessages);

      Iterator itMessages = lsMessages.iterator();
      while (itMessages.hasNext()) {
        message = (Message) itMessages.next();
        notMsg.addMessage(message.getFullMessage());
        if (!notRec.getAutoAck()) {
          // putting the message in the delivered messages table:
          consumers.put(message.getIdentifier(), notRec.requester);
          contexts.put(message.getIdentifier(),
                       new Integer(notRec.getClientContext()));
          deliveredMsgs.put(message.getIdentifier(), message);
          messages.remove(message);
        }
        if (logger.isLoggable(BasicLevel.DEBUG))
          logger.log(BasicLevel.DEBUG,
                     "Message " + message.getIdentifier() + " to " + notRec.requester +
                     " as reply to " + notRec.getRequestId());
      }

      if (isLocal(notRec.requester)) {
        notMsg.setPersistent(false);
      }

      if (notMsg.isPersistent() && !notRec.getAutoAck()) {
        // state change, so save.
        setSave();
      }

      // Next request:
      if (notMsg.getSize() > 0) {
        requests.remove(index);
        forward(notRec.requester, notMsg);
      } else {
        index++;
      }
    }
    // If needed, sending the dead messages to the DMQ:
    if (dmqManager != null)
      dmqManager.sendToDMQ();
  }
View Full Code Here

Examples of org.objectweb.joram.mom.util.DMQManager

          message.setProperty("JoramDestinationName", getName());
          // interceptors process
          org.objectweb.joram.shared.messages.Message m = processInterceptors(message);
          if (m == null) {
            // send message to the DMQ
            DMQManager dmqManager = new DMQManager(dmqId, getId());
            nbMsgsSentToDMQSinceCreation++;
            dmqManager.addDeadMessage(msg.getFullMessage(), MessageErrorConstants.INTERCEPTORS);
            dmqManager.sendToDMQ();
            msg.releaseFullMessage();
            continue;
          } else {
            msg = new org.objectweb.joram.mom.messages.Message(m);
          }
View Full Code Here

Examples of org.objectweb.joram.mom.util.DMQManager

                   "Expired notification holds an unknown notification: " + expiredNot.getClass().getName());
      return;
    }

    // Let senderId to null because we want to explicitly send messages to the queue itself.
    DMQManager dmqManager = new DMQManager(getId(), null);
    Iterator iterator = messages.iterator();
    while (iterator.hasNext()) {
      dmqManager.addDeadMessage((org.objectweb.joram.shared.messages.Message) iterator.next(),
                                MessageErrorConstants.EXPIRED);
    }
    dmqManager.sendToDMQ();
  }
View Full Code Here

Examples of org.objectweb.joram.mom.util.DMQManager

          if (logger.isLoggable(BasicLevel.DEBUG)) {
            logger.log(BasicLevel.DEBUG, "Message can't be delivered, send to DMQ.");
          }
          ite.remove();
          msg.delete();
          DMQManager dmqManager = new DMQManager(dmqId, getId());
          nbMsgsSentToDMQSinceCreation++;
          dmqManager.addDeadMessage(msg.getFullMessage(), MessageErrorConstants.UNDELIVERABLE);
          dmqManager.sendToDMQ();
          continue;
        }
        if (!batchDistribution) {
          break;
        }
View Full Code Here

Examples of org.objectweb.joram.mom.util.DMQManager

    if (not.fromCluster && fatherId != null)
      forward(fatherId, not);

    // Sending the received messages to the foreign JMS destination:
    Message message;
    DMQManager dmqManager = null;
    for (Iterator msgs = not.messages.getMessages().iterator(); msgs.hasNext();) {
      // AF: TODO it seems not useful to transform the message !!
      message = new Message((org.objectweb.joram.shared.messages.Message) msgs.next());
      message.order = arrivalsCounter++;

      outTable.put(message.getIdentifier(), message);

      try {
        jmsModule.send(message.getFullMessage());
      } catch (Exception exc) {
        outTable.remove(message.getIdentifier());
        if (dmqManager == null) {
          dmqManager = new DMQManager(dmqId, getId());
        }
        nbMsgsSentToDMQSinceCreation++;
        dmqManager.addDeadMessage(message.getFullMessage(), MessageErrorConstants.UNEXPECTED_ERROR);
      }
    }
    if (dmqManager != null) {
      dmqManager.sendToDMQ();
    }
  }
View Full Code Here

Examples of org.objectweb.joram.mom.util.DMQManager

    // Forwarding the messages to the father or the cluster fellows, if any:
    forwardMessages(not);

    // Sending the received messages to the foreign JMS destination:
    Message message;
    DMQManager dmqManager = null;
    for (Iterator msgs = not.getMessages().iterator(); msgs.hasNext();) {
      message = new Message((org.objectweb.joram.shared.messages.Message) msgs.next());
      message.order = arrivalsCounter++;
      outTable.put(message.getIdentifier(), message);

      try {
        jmsModule.send(message.getFullMessage());
      } catch (Exception exc) {
        outTable.remove(message.getIdentifier());
        if (dmqManager == null) {
          dmqManager = new DMQManager(not.getDMQId(), dmqId, getId());
        }
        nbMsgsSentToDMQSinceCreation++;
        dmqManager.addDeadMessage(message.getFullMessage(), MessageErrorConstants.UNDELIVERABLE);
      }
    }
    if (dmqManager != null) {
      dmqManager.sendToDMQ();
    }
    return null;
  }
View Full Code Here

Examples of org.objectweb.joram.mom.util.DMQManager

        if (logger.isLoggable(BasicLevel.ERROR))
          logger.log(BasicLevel.ERROR,
                     "Failing sending to remote  destination: ", exc);

        outTable.remove(message.getIdentifier());
        DMQManager dmqManager = new DMQManager(not.getDMQId(), dmqId, getId());
        nbMsgsSentToDMQSinceCreation++;
        dmqManager.addDeadMessage(message.getFullMessage(), MessageErrorConstants.UNEXPECTED_ERROR);
        dmqManager.sendToDMQ();
      }
    }
    return null;
  }
View Full Code Here

Examples of org.objectweb.joram.mom.util.DMQManager

    nbMsgsReceiveSinceCreation = nbMsgsReceiveSinceCreation + messages.size();
   
    // interceptors process
    if (interceptorsAvailable()) {
      DMQManager dmqManager = null;
      List newMessages = new ArrayList();
      Iterator it = messages.iterator();
      while (it.hasNext()) {
        Message m = (Message) it.next();
        // set the destination name to the message
        m.setProperty("JoramDestinationName", getName());
        message = processInterceptors(m);
        if (message != null) {
          newMessages.add(message);
        } else {
          //send message to the DMQ
          if (dmqManager == null)
            dmqManager = new DMQManager(dmqId, getId());
          nbMsgsSentToDMQSinceCreation++;
          dmqManager.addDeadMessage(m, MessageErrorConstants.INTERCEPTORS);
        }
      }
     
      if (dmqManager != null)
        dmqManager.sendToDMQ();
     
      if (!newMessages.isEmpty()) {
        messages = newMessages;
      } else {
        return;
View Full Code Here

Examples of org.objectweb.joram.mom.util.DMQManager

    if (logger.isLoggable(BasicLevel.DEBUG)) {
      logger.log(BasicLevel.DEBUG, "AcquisitionModule.processMessages(" + cm + ')');
    }
    if (isDaemon || period > 0) {
      // Go to DMQ
      DMQManager dmqManager = new DMQManager(destination.getDMQAgentId(), destination.getId());
      Iterator msgs = cm.getMessages().iterator();
      while (msgs.hasNext()) {
        dmqManager.addDeadMessage((Message) msgs.next(), MessageErrorConstants.NOT_ALLOWED);
      }
      dmqManager.sendToDMQ();
      return;
    }
    Iterator msgs = cm.getMessages().iterator();
    while (msgs.hasNext()) {
      Message msg = (Message) msgs.next();
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.