关于本地servlet和线上servlet请求返回结果不一样的问题

来源:互联网 发布:网贷大数据交易平台 编辑:程序博客网 时间:2024/06/04 19:27

问题描述:在平台项目(deskchart)中进行缓存管理,就是可以在管理平台中手动清理主项目多个服务器上的子项目(deskswitch,desktheme,deskad,desktop,deskweather)的缓存,子项目为了提高系统性能,使用guava cache开辟了一块内存空间,现在deskchart上配置子项目用到的资源信息,需要在桌面项目上立即生效,这时就需要在平台中调用(http://ip:port/projectname/opt?cmd=flushcache)手动清理缓存,几个子项目结构一样,都是两个servlet,DesktopServlet主程序,OperatServlet清缓存,服务器上server.xml也差不多一样。其他子项目缓存都可以正常清理,唯独deskswitch,返回结果{‘a’:0},是主程序的结果,正常应该是返回success!或者Bad command!。
web.xml配置文件

  <!--请缓存等操作-->    <servlet>        <servlet-name>desktop_opt</servlet-name>        <servlet-class>qn.web.service.desktop.servlet.OperatServlet</servlet-class>    </servlet>    <servlet-mapping>        <servlet-name>desktop_opt</servlet-name>        <url-pattern>/opt</url-pattern>    </servlet-mapping>    <!--主程序-->    <servlet>        <servlet-name>desktop_api</servlet-name>        <servlet-class>qn.web.service.desktop.servlet.DesktopServlet</servlet-class>    </servlet>    <servlet-mapping>        <servlet-name>desktop_api</servlet-name>        <url-pattern>/</url-pattern>    </servlet-mapping>

tomcat server.xml配置

<Host name="localhost"  appBase=""       unpackWARs="true" autoDeploy="true"       xmlValidation="false" xmlNamespaceAware="false">    <Context docBase="/app/seweb/webapps_9100_deskswitch/deskswitch"               path="/"  reloadable="true" >    </Context> <Valve className="org.apache.catalina.valves.AccessLogValve"               directory="logs/access"               fileDateFormat="yyyy-MM-dd"               prefix="access_log."                suffix=".txt"               pattern="%t &quot;%{X-Up-Calling-Line-ID}i&quot; &quot;%m&quot; &quot;%U&quot; &quot;%q&quot; &quot;%{User-Agent}i&quot; %s  &quot;%{X-Forwarded-For}i&quot; &quot;%{referer}i&quot; %D %b &quot;%{Via}i&quot; %h &quot;%{iX-Source-ID}i&quot; &quot;%{x-wap-profile}i&quot; &quot;%{x-apn-id}i&quot; &quot;%{X-Forwarded-For-Pound}i&quot;"                resolveHosts="false"/>     </Host>
#参数解释unpackWARs="true"  appBase="" docBase="/app/seweb/webapps_9100_deskswitch/deskswitch"   path="/"#war包自动解压到docBase目录下,项目上下文为 /

最后把请求地址换成http://ip:port/opt?cmd=flushcache就可以正常清理缓存了。
残留疑问:其他子项目配置完全一样,为什么加projectname可以正常访问呢?

0 0
原创粉丝点击