国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - springboot整合ehcache 實現支付超時限制的方法

springboot整合ehcache 實現支付超時限制的方法

2021-03-23 14:17zhanglin0506 Java教程

在線支付系統需要極高的穩定性,在有限的系統資源下,穩定性優先級要高于系統并發以及用戶體驗,因此需要合理的控制用戶的支付請求。下面通過本文給大家介紹springboot整合ehcache 實現支付超時限制的方法,一起看看吧

下面給大家介紹springboot整合ehcache 實現支付超時限制的方法,具體內容如下所示:

?
1
2
3
4
5
<dependency>
 <groupId>net.sf.ehcache</groupId>
 <artifactId>ehcache-core</artifactId>
 <version>2.6.11</version>
</dependency>

pom文件中引入ehcache依賴   

在類路徑下存放ehcache.xml文件。

application.xml中指定:

?
1
2
3
4
spring:
 cache:
 jcache:
  config: classpath:ehcache.xml

類標注@EnableCaching

實現核心代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/*
 * 記錄用戶支付的時間戳
 */
public void pinUser(Object userKey) throws Exception{
  Cache cache = manager.getCache(cacheName);
  Element element = cache.get(userKey);
  if(element == null){
    /*如果沒有找到用戶的支付記錄,則記錄緩存,然后繼續*/
    Element newE = new Element(userKey, new Date().getTime());
    cache.put(newE);
  } else {
    /*如果存在用戶的支付記錄,則應該拋出異常,并提示用戶相應的信息*/
    long inTime = (Long) element.getObjectValue();
    long timeToWait = (getTimeToLive() - (new Date().getTime() - inTime)/1000);
    //提示需要等待的時間
    throw new Exception(String.format("還需等待%s秒",String.valueOf(timeToWait)));
  }
}
/*
 * 刪除用戶支付的時間戳(該方法用于系統內部支付失敗時,手動去掉用戶的支付記錄,從而不影響用戶再次嘗試)
 * 正常時候不應該調用該方法,而是應該等緩存超時后自動清除
 */
public void unPinUser(Object userKey) {
  Cache cache = manager.getCache(cacheName);
  cache.remove(userKey);
}
/*
 * 獲取緩存配置,用來換算用戶還需等待的時間,從而給出較為友好的等待時間提示。
 */
private long getTimeToLive(){
  Cache cache = manager.getCache(cacheName);
  return cache.getCacheConfiguration().getTimeToLiveSeconds();
}

使用

在調用支付接口的地方調用PayToken.getInstance().pinUser(user.getKey())即可,若拋出異常,即說明支付間隔時間太小,同時如果還有附加數據操作,拋出異常亦可以觸發回滾操作。

若是系統原因導致執行失敗而仍需用戶等待是不合理的,因此增加了解除用戶記錄的方法PayToken.getInstance().unPinUser(user.getKey())

總結

以上所述是小編給大家介紹的springboot整合ehcache 實現支付超時限制的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:https://www.cnblogs.com/kiwi0506/articles/7135150.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 国产在线不卡 | 欧美日韩不卡 | 国产精品欧美大片 | 国产精品国产三级国产aⅴ中文 | 小视频免费在线观看 | 黄色污污视频 | 国产一区二区视频在线 | 国产精品2区| 黄色国产在线视频 | 欧洲精品久久久 | 91免费在线 | 日韩午夜 | 中文字幕超清在线免费 | 美女黄网 | 亚洲清色 | 亚洲一区中文字幕 | 色综合久久久久 | 视频一区二区国产 | 高清一区在线 | 中文字幕av在线 | 亚洲网站在线观看 | 天天干天天骑 | 精品综合久久久 | 日本 欧美 国产 | 色花av| 国产免费久久 | 黄色免费在线看 | 亚洲精品久久久久久久久久久久久 | 国产精品1区2区 | 国产免费爽爽视频在线观看 | 狠狠av| 久久美女 | 精品在线一区二区 | av观看 | 成人二区| 色综合一区二区三区 | 国产精品美女视频 | 免费在线看a | 在线日韩成人 | 日韩免费在线观看视频 | 国产精品一二区 |