นี่คือวิธีการรวม Springboot เข้ากับ Ehcache เพื่อให้ได้ขีด จำกัด การหมดเวลาการชำระเงิน เนื้อหาเฉพาะมีดังนี้:
<Ederency> <sderctId> net.sf.ehcache </groupId> <ratifactid> ehcache-core </artifactid> <version> 2.6.11 </เวอร์ชัน>
แนะนำการพึ่งพา ehcache ในไฟล์ POM
จัดเก็บไฟล์ ehcache.xml ภายใต้ classpath
ระบุไว้ใน Application.xml:
ฤดูใบไม้ผลิ: แคช: JCache: config: classpath: ehcache.xml
คำอธิบายประกอบชั้นเรียน @enablecaching
ใช้รหัสหลัก
/** บันทึกการประทับเวลาของการชำระเงินของผู้ใช้*/โมฆะสาธารณะ Pinuser (Object UserKey) โยนข้อยกเว้น {แคชแคช = manager.getCache (cachename); องค์ประกอบองค์ประกอบ = cache.get (userkey); ถ้า (element == null) { /*หากไม่พบบันทึกการชำระเงินของผู้ใช้บันทึกจะถูกแคชแล้วดำเนินการต่อ* / องค์ประกอบ newe = องค์ประกอบใหม่ (userkey, วันที่ใหม่ (). getTime ()); cache.put (newe); } else { /*หากมีระเบียนการชำระเงินของผู้ใช้ควรมีการโยนข้อยกเว้นและควรแจ้งข้อมูลที่สอดคล้องกันของผู้ใช้* / Long Intime = (ยาว) Element.getObjectValue (); timetowait ยาว = (getTimetOlive () - (วันที่ใหม่ (). getTime () - intime)/1000); // เวลาที่จะรอได้รับการแจ้งให้โยนข้อยกเว้นใหม่ (String.format ("มันยังคงต้องรอ %s วินาที", string.valueof (timetowait))); }}/ * * ลบการประทับเวลาของการชำระเงินของผู้ใช้ (วิธีนี้ใช้เพื่อลบบันทึกการชำระเงินของผู้ใช้ด้วยตนเองเมื่อการชำระเงินภายในล้มเหลวในระบบด้วยตนเองเพื่อไม่ให้ส่งผลกระทบต่อความพยายามของผู้ใช้อีกครั้ง) * โดยปกติวิธีนี้ไม่ควรเรียก แต่ควรล้างโดยอัตโนมัติ cache.remove (userkey);}/ * * รับการกำหนดค่าแคชเพื่อแปลงเวลาที่ผู้ใช้ยังคงต้องรอดังนั้นจึงให้เวลารอคอยที่เป็นมิตรมากขึ้น */ส่วนตัวยาว getTimetOlive () {แคชแคช = manager.getCache (cachename); Return cache.getCacheConfiguration (). getTimetoliveseconds ();}ใช้
เพียงโทร PayToken.getInstance().pinUser(user.getKey()) โดยที่มีการเรียกอินเทอร์เฟซการชำระเงิน หากมีข้อยกเว้นถูกโยนลงไปหมายความว่าช่วงเวลาการชำระเงินมีขนาดเล็กเกินไป ในเวลาเดียวกันหากมีการดำเนินการข้อมูลเพิ่มเติมการขว้างข้อยกเว้นก็สามารถเรียกใช้การย้อนกลับได้
มันไม่มีเหตุผลที่จะยังคงต้องการให้ผู้ใช้รอหากการดำเนินการล้มเหลวเนื่องจากเหตุผลของระบบ ดังนั้นจึงมีการเพิ่มเพื่อลบบันทึกของผู้ใช้ PayToken.getInstance().unPinUser(user.getKey())
สรุป
ข้างต้นเป็นวิธีการของ Springboot ที่รวม EHCache เพื่อให้ได้ข้อ จำกัด การชำระเงินการชำระเงินที่บรรณาธิการแนะนำให้คุณรู้จัก ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!