لا يمكن قراءتها ذاكرة التخزين المؤقت للمستوى الثاني للعائلة EHCACHACE.XML، إعداد ذاكرة التخزين المؤقت للكيانات إلى السبات

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

سؤال

لجعل الأمر واضحا وسهلا، لدي مشروعين: 1. مشروع كيكة حيث توجد جميع فئات الكيان في هذا المشروع. 2. مشروع يحتوي على وظيفة رئيسية () لتشغيل التطبيق، يتم وضع ehcache.xml في مسار الفصل في هذا المشروع.

مشكلتي هي: يمكنني تغيير defaultcache. عنصر EHCACHE.XML ويمكنني أن أرى تغييرات من ملف سجل SQL. لكنني أعتقد أن السبات فقط اقرأ بلدي defaultcache. العنصر، لأن كل ما أغيره في مخبأ عنصر كيان محدد من Ehcache.xml، لن يكون هناك أي تغييرات في سجل SQL.

على سبيل المثال: إذا قمت بتعيين MaxelementSinMemory. من defaultcache. عنصر ل 0, كل ما قمت بتعيين MaxelementSinMemory. التابع مخبأ عنصر الكيان ل 100 أو 0, ، لن يكون هناك أي كيان تم تخزينه مؤقتا في ذاكرة التخزين المؤقت المستوى الثاني. إذا قمت بتعيين MaxelementSinMemory. من defaultcache. عنصر ل 100, كل ما قمت بتعيين MaxelementSinMemory. التابع مخبأ عنصر الكيان ل 100 أو 0, ، يكون هناك دائما هذا الكيان مؤقتا في ذاكرة التخزين المؤقت المستوى الثاني.

لذلك أعتقد أن اسم اسم الاسم مخبأ عنصر الكيان يتم تعيينه بشكل خاطئ ولا يمكن قراءته من السبات؟

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

المحلول

لقد وجدت حيث مشكلتي هي. أنا أستخدم ehcache كمزود ذاكرة التخزين المؤقت. في ehcache.xml، أعتقد أن عنصر DefaultCache يستخدم أيضا لجميع Querycaches أيضا، إذا لم أقم بتعيين عنصر DetaerQueryCereCache. لذلك ليس من المهم أم لا أقوم بتعيين MaxelementsinMemory أو "0"، لأن جميع QueryCache تستخدم منطقة DefaultCache. ولكن تحديد MaxelementsinMemory من "0" يمكن أن يساعد بالتأكيد على تعطيل ذاكرة التخزين المؤقت على مستوى Sencond على مستوى هذا الكيان عند استخدام وظيفة EntityManager.find ().

نصائح أخرى

من فضلك، اقرأ الوثائق. في حالة maxElementsInMemory الإعداد، قيمة 0 لديه معنى خاص - unlimited. وبعد لذلك بدلا من الحصول على ذاكرة التخزين المؤقت على الإطلاق، فأنت تخزلق كل شيء.

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