All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.avos.avospush.session.StaleMessageDepot Maven / Gradle / Ivy

The newest version!
package com.avos.avospush.session;

import com.avos.avoscloud.AVUtils;

public class StaleMessageDepot {
  MessageQueue messageDepot;
  private static final int MAXLENGTH = 50;

  public StaleMessageDepot(String depotName) {
    this.messageDepot = new MessageQueue(depotName, String.class);
  }

  /**
   * 
   * @param messageId
   * @return false if message arrived before. true
   */
  public synchronized boolean putStableMessage(String messageId) {
    if (AVUtils.isBlankString(messageId)) {
      return true;
    }
    boolean isContains = messageDepot.contains(messageId);
    if (!isContains) {
      messageDepot.offer(messageId);
      while (messageDepot.size() > MAXLENGTH) {
        messageDepot.poll();
      }
    }
    return !isContains;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy