Package org.objectweb.joram.mom.messages

Examples of org.objectweb.joram.mom.messages.Message


    // AF: TODO we should parse each message for each subscription
    // see ClientSubscription.browseNewMessages
    List messages = new ArrayList();
    for (Iterator msgs = rep.getMessages().iterator(); msgs.hasNext();) {
      Message message = new Message((org.objectweb.joram.shared.messages.Message) msgs.next());
      // Setting the arrival order of the messages
      message.order = arrivalsCounter++;
      messages.add(message);
    }

    for (Iterator names = tSub.getNames(); names.hasNext();) {
      subName = (String) names.next();
      sub = (ClientSubscription) subsTable.get(subName);
      if (sub == null) continue;

      // Browsing the delivered messages.
      sub.browseNewMessages(messages);
    }

    // Save message if it is delivered to a durable subscription.
    for (Iterator msgs = messages.iterator(); msgs.hasNext();) {
      Message message = (Message) msgs.next();

      if (message.durableAcksCounter > 0) {
        if (logger.isLoggable(BasicLevel.DEBUG))
          logger.log(BasicLevel.DEBUG, " -> save message " + message);
        setSave();
        // Persisting the message.
        setMsgTxName(message);
        message.save();
        message.releaseFullMessage();
      }
    }

    for (Iterator names = tSub.getNames(); names.hasNext();) {
      subName = (String) names.next();
View Full Code Here


      cs = (ClientSubscription)subsTable.get(subName);
    }
    if (cs != null) {
      String msgId = request.getMessageId();
     
      Message message = null;
      if (msgId != null)
        message = cs.getSubscriptionMessage(msgId);

      if (message != null) {
        GetSubscriptionMessageRep reply = null;
        if (request.getFullMessage()) {
          reply = new GetSubscriptionMessageRep(message.getFullMessage());
        } else {
          reply = new GetSubscriptionMessageRep(message.getHeaderMessage());
        }
        replyToTopic(reply, replyTo, requestMsgId, replyMsgId);
      } else {
        replyToTopic(new AdminReply(false, "Message not found: " + request.getMessageId()),
                     replyTo, requestMsgId, replyMsgId);
View Full Code Here

  protected void cleanPendingMessages(long currentTime) {
    if (logger.isLoggable(BasicLevel.DEBUG))
      logger.log(BasicLevel.DEBUG, "UserAgent.cleanPendingMessages(" + messagesTable.size() + ')');
   
    Message message = null;
    DMQManager dmqManager = null;

    for (Iterator values = messagesTable.values().iterator(); values.hasNext();) {
      message = (Message) values.next();
      if ((message == null) || message.isValid(currentTime))
        continue;

      values.remove();
      if (message.durableAcksCounter > 0)
        message.delete();

      if (dmqManager == null)
        dmqManager = new DMQManager(dmqId, null);
      nbMsgsSentToDMQSinceCreation++;
      dmqManager.addDeadMessage(message.getFullMessage(), MessageErrorConstants.EXPIRED);

      if (logger.isLoggable(BasicLevel.DEBUG))
        logger.log(BasicLevel.DEBUG, "UserAgent expired message " + message.getIdentifier());
    }
   
    Iterator subs = subsTable.values().iterator();
    while (subs.hasNext()) {
      ((ClientSubscription) subs.next()).cleanMessageIds();
View Full Code Here

TOP

Related Classes of org.objectweb.joram.mom.messages.Message

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.