كيفية تنفيذ تسجيل الخروج في تطبيق الدعامات

StackOverflow https://stackoverflow.com/questions/1720068

  •  19-09-2019
  •  | 
  •  

سؤال

لدي تطبيق J2EE الذي لم يتم تنفيذ تسجيل الخروج بشكل صحيح، فإن نيتي هو إغلاق جميع موارد DB بمجرد تسجيل المستخدم. لست متأكدا إذا كانت الجلسة .invalidate ()؛ سوف يساعد حقا، سأحاول ذلك اليوم. يرجى تقديم المشورة ما سيكون أفضل طريقة لتنفيذ تسجيل الخروج بحيث يتم إصدار جميع الموارد القيمة بمجرد تسجيل الدخول المستخدم.

هل كانت مفيدة؟

المحلول

نيتي هي إغلاق جميع موارد DB بمجرد تسجيل المستخدم

هذا هو بالفعل علامة على ممارسة سيئة. يجب الحصول على موارد DB و أغلق في أقصر نطاق ممكن، أي داخل كتلة الطريقة نفسها. قد لا تحصل أبدا على مورد DB (Connection, Statement و / أو ResultSet) كمتغير ثابت أو مثيل. إنه إيصال إلى تسرب الموارد ومشاكل أكثر خطورة.

إذا كانت النية الأصلية هي تحسين توصيل الأداء، فأنت بحاجة إلى إدخال تجمع اتصال. ضع في اعتبارك أن هذا ليس عذرا للحفاظ على فتح الاتصالات نفسك. وبعد فقط اكتساب وأغلقها في أقرب وقت ممكن بنفس الطريقة، فإن تنفيذ بركة الاتصال نفسه سيقلق نفسه عن إغلاق الاتصال بالفعل أو إبرامه بالعودة إلى المسبح. كل شيء شفاف تماما. يأتي خوادم التطبيقات اللائقة مع إمكانيات تجمع الاتصالات في نكهة Datasources JNDI. الاستفادة منه. بمجرد القيام بذلك، لا داعي للقلق بشأن أي موارد DB مفتوحة ولا أداء على الإطلاق.

نصائح أخرى

يرجى القيام به

  1. استخدم اتصالك وفئات قاعدة البيانات الأخرى لإزالة موارد DB.
  2. مسح لك الجلسة باستخدام كائن الجلسة.
  3. تحقق من ملف تعريف الارتباط الذي قمت بإنشائه في التطبيق وإزالة واحد أو كل شيء.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top