Java 如何更改hdiv中的缓存删除策略
我正在使用java Web应用程序的Web应用程序安全框架。每个新的网页请求都会生成hdiv内部安全信息,这些信息将被缓存并用于安全检查 我有以下几点意见: 我有一个订单页面,在购物车中添加或删除物品时,会弹出确认页面2秒钟 弹出50次后,参考底图顺序页面将从缓存中删除,因此应用程序中出现错误 有人知道如何影响hdiv缓存删除策略以保持basepage的活动吗 一种方法是将org.hdiv.session.StateCache.maxSize从50增加到500 但这只能治愈症状,而不是根本原因 更新: 使用@rbelasko解决方案 我成功地使用了原始的Java 如何更改hdiv中的缓存删除策略,java,security,spring,hdiv,Java,Security,Spring,Hdiv,我正在使用java Web应用程序的Web应用程序安全框架。每个新的网页请求都会生成hdiv内部安全信息,这些信息将被缓存并用于安全检查 我有以下几点意见: 我有一个订单页面,在购物车中添加或删除物品时,会弹出确认页面2秒钟 弹出50次后,参考底图顺序页面将从缓存中删除,因此应用程序中出现错误 有人知道如何影响hdiv缓存删除策略以保持basepage的活动吗 一种方法是将org.hdiv.session.StateCache.maxSize从50增加到500 但这只能治愈症状,而不是根本原因
org.hdiv.session.StateCache
将maxSize更改为20,并在调试日志中验证了cachentries在20个条目后被取消
当我将其更改为使用自己的实现时,它不起作用
Bean定义
<bean id="cache" class="com.mycompany.session.StateCacheTest" singleton="false"
init-method="init">
<property name="maxSize">
<value>20</value>
</property>
</bean>
调试日志中没有来自StateCacheTest的条目
有什么想法吗
更新2:
虽然我无法通过spring加载不同的IStateCache实现,但我可以使用
<hdiv:config ... maxPagesPerSession="200" ... />
bean设置定义
<property name="maxSize">
<value>20</value>
</property>
20
对我的系统中的缓存大小没有影响。您可以创建自定义接口实现
使用HDIV显式配置(不使用HDIV的新自定义模式)这是“缓存”bean的默认配置:
200
您可以创建自己的实现,并实现适合您需求的策略
问候,
Roberto您可以创建自定义接口实现
使用HDIV显式配置(不使用HDIV的新自定义模式)这是“缓存”bean的默认配置:
200
您可以创建自己的实现,并实现适合您需求的策略
问候,
Roberto你能给我一个例子,如何用我自己的实现替换
org.hdiv.session.StateCache
?请参阅我的更新问题。是否使用HDIV自定义模式(HDIV:)?如果您使用的是显式配置(旧式),那么您只需要定义一个“缓存”bean,它应该可以工作。换句话说,删除defaulta缓存bean并添加您的bean。升级到更高版本后,这一切正常。谢谢你能给我一个例子,如何用我自己的实现替换org.hdiv.session.StateCache
?请参阅我的更新问题。是否使用HDIV自定义模式(HDIV:)?如果您使用的是显式配置(旧式),那么您只需要定义一个“缓存”bean,它应该可以工作。换句话说,删除defaulta缓存bean并添加您的bean。升级到更高版本后,这一切正常。谢谢
<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>