Hier finden Sie eine Möglichkeit, Springboot in EHCACHE zu integrieren, um das Zahlungslimit für das Zahlung zu erreichen. Der spezifische Inhalt ist wie folgt:
<Depopenty> <gruppe> net.sf.ehcache </Groupid> <artifactId> EHCache-Core </artifactId> <version> 2.6.11 </Version> </abhängig>
Führen Sie die EHCache -Abhängigkeit in die POM -Datei ein
Speichern Sie die Datei ehcache.xml unter dem Klassenpfad.
In application.xml angegeben:
Spring: Cache: JCache: config: classPath: ehcache.xml
Klasse Annotation @enableScaching
Kerncode implementieren
/** Zeichnen Sie den Zeitstempel der Benutzerzahlung auf*/public void pinuser (Object UserKey) Ausnahme {cache cache = Manager.getCache (CacheName); Element Element = cache.get (userKey); if (element == null) { /*Wenn kein Benutzerkennungsdatensatz gefunden wird, wird der Datensatz zwischengespeichert und dann weiter* / Element Newe = New Element (UserKey, New Date (). GetTime ()); Cache.put (Newe); } else { /*Wenn der Zahlungsdatensatz eines Benutzers vorliegt, sollte eine Ausnahme ausgelegt werden und die entsprechenden Informationen des Benutzers sollten aufgefordert werden* / long intime = (long) element.getObjectValue (); Long Timetowait = (getTimetolive () - (neues Datum (). GetTime () - Intime)/1000); // Die Zeit zum Warten wird dazu veranlasst, neue Ausnahme (String.Format ("Es muss noch %s Sekunden warten", String.Valueof (Timetowait))); }}/ * * Löschen Sie den Zeitstempel der Zahlung des Benutzers (mit dieser Methode wird der Zahlungsdatensatz des Benutzers manuell entfernt, wenn die interne Zahlung im System fehlschlägt, um den Versuch des Benutzers nicht erneut zu beeinflussen) cache.remove (userKey);}/ * * Nehmen Sie die Cache -Konfiguration ab, um die Zeit zu konvertieren, die der Benutzer noch warten muss, wodurch eine freundlichere Wartezeitaufforderung gewährt wird. */private long GetTimetolive () {cache cache = Manager.getCache (cacheName); return cache.getCacheConfiguration (). getTimetoliveSeconds ();}verwenden
Rufen Sie einfach PayToken.getInstance().pinUser(user.getKey()) an. Wenn eine Ausnahme ausgelöst wird, bedeutet dies, dass das Zahlungsintervall zu klein ist. Wenn zusätzliche Datenvorgänge vorhanden sind, kann es auch einen Rollback -Vorgang auslösen, wenn zusätzliche Datenvorgänge vorhanden sind.
Es ist unangemessen, den Benutzer noch zu warten, wenn die Ausführung aus Systemgründen fehlschlägt. Daher wird es hinzugefügt, um die Datensätze des Benutzers zu entfernen PayToken.getInstance().unPinUser(user.getKey())
Zusammenfassen
Die obige Methode ist die Methode des Integrierens von EHCache, um Zahlungsbeschränkungen für Zahlung zu erhalten, die der Editor Ihnen vorgestellt hat. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!