Package sk.iway.iwcm.dmail
Class DomainThrottle
java.lang.Object
sk.iway.iwcm.dmail.DomainThrottle
DomainThrottle.java
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Prida odoslany email do tabuliekboolean
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
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 trebastatic String
getDomainFromEmail
(String address) dummy impl of getting domain from email addressstatic DomainThrottle
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)
-
Method Details
-
getDomainFromEmail
dummy impl of getting domain from email address- Parameters:
address
-- Returns:
-
getInstance
-
canSend
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
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
Prida odoslany email do tabuliek- Parameters:
domain
- domenatimeSent
- cas odoslania v milisekundach
-