Class DomainThrottle

java.lang.Object
sk.iway.iwcm.dmail.DomainThrottle

public class DomainThrottle extends Object
DomainThrottle.java
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addEmail(String domain, long timeSent)
    Prida odoslany email do tabuliek
    boolean
    canSend(String domain)
    Zisti ci je mozne na zaklade nastaveny limitov poslat email na danu domenu najpr sa kontroluje ci ma domena nejaky limit, ak nie poslanie sa hned povoli ak ano, najprv sa skontroluje ci posledny email na danu domenu neodisiel uz davnejsie ako je minimalne delay pre danu domenu, ak ano tak sa poslanie povoli, ak nie tak sa spocita pocet emailov na danu domenu za cas od teraz po casovy limit a ak nie je limit prekroceny tak sa odoslanie povoli.
    protected void
    Spravi kopiu generickeho limitu pre domenu ktora nema explicitne definovane limity tuto kopiu ale neulozi do DB, prepocita maxTimeLimit a oshapuje mapu emailov ak treba
    static String
    dummy impl of getting domain from email address
     
    void
    This method will reload domain limits settings recalculate longest limit and shape domain records according to longest limit (keep records only from longest limit to present)

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • getDomainFromEmail

      public static String getDomainFromEmail(String address)
      dummy impl of getting domain from email address
      Parameters:
      address -
      Returns:
    • getInstance

      public static DomainThrottle getInstance()
    • canSend

      public boolean canSend(String domain)
      Zisti ci je mozne na zaklade nastaveny limitov poslat email na danu domenu najpr sa kontroluje ci ma domena nejaky limit, ak nie poslanie sa hned povoli ak ano, najprv sa skontroluje ci posledny email na danu domenu neodisiel uz davnejsie ako je minimalne delay pre danu domenu, ak ano tak sa poslanie povoli, ak nie tak sa spocita pocet emailov na danu domenu za cas od teraz po casovy limit a ak nie je limit prekroceny tak sa odoslanie povoli.
      Parameters:
      domain - domena
      Returns:
    • cloneGenericLimit

      protected void cloneGenericLimit(String domain)
      Spravi kopiu generickeho limitu pre domenu ktora nema explicitne definovane limity tuto kopiu ale neulozi do DB, prepocita maxTimeLimit a oshapuje mapu emailov ak treba
      Parameters:
      domain - domena
    • refresh

      public void refresh()
      This method will reload domain limits settings recalculate longest limit and shape domain records according to longest limit (keep records only from longest limit to present)
    • addEmail

      public void addEmail(String domain, long timeSent)
      Prida odoslany email do tabuliek
      Parameters:
      domain - domena
      timeSent - cas odoslania v milisekundach