كيتو تغيير استراتيجية إزالة ذاكرة التخزين المؤقت في هديف

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

  •  12-11-2019
  •  | 
  •  

سؤال

أنا باستخدام هديف إطار أمان تطبيق الويب لتطبيق ويب جافا.كل صفحة ويب جديدة-طلب يولد معلومات الأمن الداخلي هديف التي يتم تخزينها مؤقتا واستخدامها لفحص الأمن.

لدي زيناريو التالية:

لدي صفحة طلب واحدة تنبثق صفحة تأكيد لمدة 2 ثانية عندما تمت إضافة شيء ما إلى عربة التسوق أو إزالته منها.

بعد 50 بالنوافذ تتم إزالة الصفحة أجل تحتها من ذاكرة التخزين المؤقت ، وبالتالي يحدث خطأ في التطبيق.

لا أحد يعرف كيفية التأثير على استراتيجية إزالة ذاكرة التخزين المؤقت هديف للحفاظ على باسيباج على قيد الحياة?

طريقة واحدة هي زيادة المؤسسة.(هديف).جلسة.ستيتكاش.الحد الأقصى للحجم من 50 إلى 500.

لكن هذا لن يؤدي إلا إلى علاج الأعراض وليس السبب الأساسي.

تحديث:

باستخدام حل ربيلاسكو @ لقد نجحت في استخدام الأصل org.hdiv.session.StateCache لتغيير الحجم الأقصى إلى 20 والتحقق منها في سجل التصحيح أن يتم رفض التخزين المؤقت بعد 20 إدخالات.

عندما قمت بتغييره لاستخدام التنفيذ الخاص بي ، لم يعمل

تعريف الفول

<bean id="cache" class="com.mycompany.session.StateCacheTest" singleton="false" 
  init-method="init">
    <property name="maxSize">
        <value>20</value>
    </property>
</bean>

صفي الخاص

public class StateCacheTest extends StateCache
{
    private static final Log log = LogFactory.getLog(StateCacheTest.class);

    public StateCacheTest()
    {
        log.debug("StateCache()");
    }

    @Override
    public void setMaxSize(final int maxSize)
    {
        super.setMaxSize(maxSize);

        if (log.isDebugEnabled())
        {
            log.debug("setMaxSize to " + maxSize);
        }
    }
}

في سجل التصحيح لم تكن هناك إدخالات من ستاتكاشيتست

أي أفكار?

تحديث 2:

في حين لم أكن قادرا على تحميل تنفيذ إيستاتيكاش مختلفة عبر الربيع كنت قادرا على جعل هذا الخطأ أقل احتمالا باستخدام

<hdiv:config ... maxPagesPerSession="200" ... />

تعريف إعدادات الفول

<property name="maxSize">
    <value>20</value>
</property>

لم يكن له أي تأثير على التخزين المؤقت في نظامي.

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

المحلول

يمكنك إنشاء مخصص إيستاتيكاش تنفيذ واجهة.

باستخدام التكوين هديف صريح (لا تستخدم مخطط مخصص جديد هديف) هذا هو التكوين الافتراضي ل" ذاكرة التخزين المؤقت " الفول:

<bean id="cache" class="org.hdiv.session.StateCache" singleton="false" 
  init-method="init">
    <property name="maxSize">
        <value>200</value>
    </property>
</bean>

يمكنك إنشاء التنفيذ الخاص بك وتنفيذ الاستراتيجية التي تناسب متطلباتك.

التحيات,

روبرتو

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