Aquí hay una forma de integrar SpringBoot en Ehcache para lograr el límite de tiempo de espera de pago. El contenido específico es el siguiente:
<Spendency> <ProupId> net.sf.ehcache </groupid> <artifactid> ehcache-core </arfactid> <versever> 2.6.11 </versión> </pendency>
Introducir la dependencia de Ehcache en el archivo POM
Almacene el archivo ehcache.xml en el classpath.
Especificado en Application.xml:
Spring: Cache: Jcache: config: classpath: ehcache.xml
Anotación de clase @enablecaching
Implementar el código central
/** Registre la marca de tiempo del pago del usuario*/public void Pinuser (Object UserKey) lanza la excepción {caché cache = gereM.getCache (cachename); Elemento elemento = cache.get (userkey); if (element == null) { /*Si no se encuentra el registro de pago del usuario, el registro se almacena en caché y luego continúa* / elemento newe = new Element (UserKey, New Date (). GetTime ()); cache.put (newe); } else { /*Si hay un registro de pago del usuario, se debe lanzar una excepción y se debe solicitar la información correspondiente del usuario* / long intime = (long) element.getObjectValue (); Long Timetowait = (gettimeTolive () - (nuevo date (). getTime () - intime)/1000); // El tiempo para esperar se solicita a la nueva excepción (String.Format ("Todavía necesita esperar %s segundos", String.ValueOf (TIMETOWAIT))); }}/ * * Elimine la marca de tiempo del pago del usuario (este método se utiliza para eliminar manualmente el registro de pago del usuario cuando el pago interno falla en el sistema, para que no afecte el intento del usuario nuevamente) * Normalmente, este método no debe llamarse, pero debe llamarse automáticamente después del tiempo de espera de Cache */público sinuoso (no indicador (usuarios de objetos) {cajero cache. Cache.remove (userkey);}/ * * Obtenga la configuración de caché para convertir el tiempo que el usuario aún necesita esperar, lo que da un mensaje de tiempo de espera más amigable. */Private Long getTimetolive () {cache cache = ganager.getCache (cachename); return cache.getCacheConfiguration (). GetTimetoliveSeconds ();}usar
Simplemente llame PayToken.getInstance().pinUser(user.getKey()) donde se llama a la interfaz de pago. Si se lanza una excepción, significa que el intervalo de pago es demasiado pequeño. Al mismo tiempo, si hay operaciones de datos adicionales, lanzar una excepción también puede activar una operación de reversión.
Es irrazonable que aún necesite que el usuario espere si la ejecución falla debido a las razones del sistema. Por lo tanto, se agrega para eliminar los registros del usuario PayToken.getInstance().unPinUser(user.getKey()) .
Resumir
Lo anterior es el método de SpringBoot integrar ehcache para lograr restricciones de tiempo de espera de pago que el editor le presentó. Espero que te sea útil. Si tiene alguna pregunta, déjame un mensaje y el editor le responderá a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!