通过pathinfo进行Websphere servlet缓存

时间:2014-08-29 10:15:21

标签: websphere

我有一个托管在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存储一个缓存条目,因此我通过点击任一页面得到相同的结果。我如何告诉它将两个网址视为单独的条目?

1 个答案:

答案 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个具有不同内容的条目:

enter image description here