فيما يلي طريقة لدمج Springboot في Ehcache لتحقيق حد مهلة الدفع. المحتوى المحدد هو كما يلي:
<Rependency> <roupeD> net.sf.ehcache </rougeid> <StifactId> ehcache-core </stifactid> <sored> 2.6.11 </version> </reperency>
تقديم تبعية Ehcache في ملف POM
قم بتخزين ملف ehcache.xml تحت classpath.
محدد في application.xml:
الربيع: ذاكرة التخزين المؤقت: jcache: config: classpath: ehcache.xml
التعليق التوضيحي للفئة enablecaching
تنفيذ الرمز الأساسي
/** سجل الطابع الزمني لدفع المستخدم*/pinuser pinuser pinuser (Object userKey) يلقي الاستثناء {cache cache = manager.getCache (cachename) ؛ element element = cache.get (userKey) ؛ إذا كان (element == null) { /*إذا لم يتم العثور على سجل دفع للمستخدم ، فسيتم تخزين السجل مؤقتًا ثم متابعة* / element newe = element (userKey ، date (). getTime ()) ؛ cache.put (newe) ؛ } آخر { /*إذا كان هناك سجل دفع للمستخدم ، فيجب إلقاء استثناء وينبغي مطالبة المعلومات المقابلة للمستخدم* / long intime = (long) element.getObjectValue () ؛ TimetOwait طويل = (getTimetolive () - (تاريخ جديد (). getTime () - intime)/1000) ؛ // يُطلب من الوقت للانتظار رمي استثناء جديد (string.format ("لا يزال يحتاج إلى الانتظار ٪ S.CHOMS" ، string.valueof (timetOwait))) ؛ }}/ * * حذف الطابع الزمني لدفع المستخدم (يتم استخدام هذه الطريقة لإزالة سجل دفع المستخدم يدويًا عند فشل الدفع الداخلي في النظام ، حتى لا يؤثر على محاولة المستخدم مرة أخرى) * يجب أن يتم استدعاء هذه الطريقة بشكل طبيعي ، ولكن يجب مسحها تلقائيًا بعد وقت التخزين المؤقت */الفراغ العام unpinuser. 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 لتحقيق قيود مهلة الدفع التي قدمها لك المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!