我有一个托管在Websphere v7中的servlet,我想缓存它。 servlet可通过以下任一路径访问
/分析/ ABC /分析/ DEF
将servlet本身映射到/ analysis /并通过pathinfo检索abc或def。
我想缓存两个URL(即动态缓存上的两个条目),我使用了以下cachespec.xml文件:
<cache-entry>
<class>servlet</class>
<name>/analysis</name>
<name>/parser.jsp</name>
<name>com.at.servlets.EdisonParser</name>
<name>com.at.servlets.EdisonParser.class</name>
<cache-id>
<component id="" type="pathinfo">
<required>true</required>
</component>
<timeout>180</timeout>
</cache-id>
</cache-entry>
这是有效的,因为响应是缓存的。但是它只为两个URL存储一个缓存条目,因此我通过点击任一页面得到相同的结果。我如何告诉它将两个网址视为单独的条目?
答案 0 :(得分:0)
如果应用于相同的 servlet,则可以有多个<name>
元素。检查here。引用:
如果您可以在缓存条目中指定多个名称元素 有不同的映射引用同一个servlet。
我定义了以下cachespec.xml
:
<cache-entry>
<class>servlet</class>
<name>servlet.PathServlet.class</name>
<cache-id>
<component id="" type="pathinfo">
<required>required</required>
</component>
<timeout>180</timeout>
</cache-id>
</cache-entry>
它运行正常,因为我可以在cachemonitor中看到3个具有不同内容的条目: