Aqui está uma maneira de integrar o Springboot no ehcache para obter o limite de tempo limite do pagamento. O conteúdo específico é o seguinte:
<Depencency> <GrupidId> net.sf.ehcache </groupiD> <TRAFACTID> ehcache-core </stutifactId> <versão> 2.6.11 </version> </dependency>
Introduce dependência de ehcache no arquivo pom
Armazene o arquivo ehcache.xml sob o caminho de classe.
Especificado em Application.xml:
Primavera: Cache: JCache: Config: ClassPath: ehcache.xml
Anotação de classe @enableCaching
Implementar o código principal
/** Registre o registro de data e hora do pagamento do usuário*/public void PinUser (objeto userKey) lança exceção {cache cache = gerente.getcache (cacheName); Elemento elemento = cache.get (userkey); if (element == null) { /*Se nenhum registro de pagamento do usuário for encontrado, o registro será armazenado em cache e continue* / elemento newe = new element (userKey, new Date (). getTime ()); cache.put (newe); } else { /*Se houver um registro de pagamento de um usuário, uma exceção deve ser lançada e as informações correspondentes do usuário devem ser solicitadas* / LONG INTIME = (long) element.getObjectValue (); long timeTowait = (gettimetolive () - (new Date (). getTime () - INTIME)/1000); // O tempo para esperar é solicitado a lançar uma nova exceção (String.Format ("ainda precisa esperar %s segundos", String.valueof (timeTowait))); }}/ * * Exclua o registro de data e hora do pagamento do usuário (esse método é usado para remover manualmente o registro de pagamento do usuário quando o pagamento interno falha no sistema, para não afetar a tentativa do usuário novamente) * Normalmente, esse método não deve ser chamado, mas deve ser limpo automaticamente após o cache do cache */public void unstinUser (objectKey) {Cache cache; cache.remove (userkey);}/ * * Obtenha a configuração do cache para converter o tempo que o usuário ainda precisa esperar, dando um prompt de tempo de espera mais amigável. */Private Long gettimetolive () {cache cache = gerente.getcache (Cachename); Return cache.getCacheConfiguration (). gettimeToliveSeconds ();}usar
Basta ligar para PayToken.getInstance().pinUser(user.getKey()) onde a interface de pagamento é chamada. Se uma exceção for lançada, significa que o intervalo de pagamento é muito pequeno. Ao mesmo tempo, se houver operações de dados adicionais, lançar uma exceção também pode desencadear uma operação de reversão.
Não é razoável ainda precisar do usuário esperar se a execução falhar devido a razões do sistema. Portanto, é adicionado para remover os registros do usuário PayToken.getInstance().unPinUser(user.getKey()) .
Resumir
O exposto acima é o método do Springboot que integra o Ehcache para obter restrições de tempo limite de pagamento que o editor apresentou a você. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!