سؤال

أريد إنشاء كائن sinlgetom الذي يكون نطاقه في الأساس فقط. سيتم استخدام هذا الطلب. سيتم استخدامه لجمع الأخطاء ونحتاج إلى إرسال خطأ عندما نرسل رد فعل ذلك .. هل يمكنني أن أقدم أمين مؤشرات نحو هذا الشيء؟ أنا أيضا استخدام الربيع.

حاولت استخدام جلسة نطاق أو طلب كائنات حاوية الربيع Singleton ولكن لا يزال MU كائن يحمل القيم من الطلب السابق

أنا أستخدم كائن الخطأ هذا مع Jewelj..is قد يسبب مشكلة في ربط ثابت

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

المحلول

لست متأكدا من أن Singleton هو ما تريده هنا - إذا وصل طلبان متزامن، فسيشاركوا كائن Singleton، وسيتم خلط أخطائهم.

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

نصائح أخرى

ماذا عن

giveacodicetagpre.

إذا قمت بتعيين دورة حياة الكائنات في حاوية الربيع لتكون لكل طلب، فعليها موجودة فقط لهذا httprequest.

عموما بالنسبة لحاويات الحقن المباشرة مثل الربيع عند تعيين دورة حياة الكائن أو نطاق الكائن لتكون لكل طلب، يجب أن تخلق مثيل جديد للكائن لكل طلب HTTP يستقبله.

إذا لم يكن الأمر كذلك، فسوف أفترض أنه أكثر من المرجح أن تفعل شيئا مع التكوين الخاص بك.

singleton هو التحف ضد حاوية الربيع عند إنشاء الفاصوليا وأعتقد أنه عليك تحديد نطاق كائن حسب الطلب.

<ع> نطاقات الفول http://static.springsource.org/spring/docs/2.5.x / مرجع / beans.html

يمكنك استخدام threadlocal .

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top