我有一个servlet,托管在Websphere v7中,我想缓存它。servlet可通过以下路径之一进行访问
/analysis/abc /analysis/def
其中servlet本身被映射到/analysis/,并通过pathinfo检索abc或def。
我想缓存这两个URL(即动态缓存中的2个条目),并且我使用了以下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存储一个缓存项,所以我通过点击任何一个页面都可以得到相同的结果。我如何告诉它将这两个urls视为单独的条目?
发布于 2014-08-29 23:02:23
如果应用于相同的 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个包含不同内容的条目:

https://stackoverflow.com/questions/25566213
复制相似问题