Liferay: personalice el encabezado web.xml agregado durante el despliegue del portlet

Necesito personalizar la implementación de mi portlet liferay de modo que los archivos GWT nocache.js no obtengan un conjunto de encabezado HTTP 'Expires'.

Mi archivo de guerra se ve así:

view.jsp
com.foobar.MyEntryPoint/com.foobar.MyEntryPoint.nocache.js
com.foobar.MyEntryPoint/12312312313213123123123.cache.html
WEB-INF/web.xml
WEB-INF/portlet.xml
WEB-INF/liferay-portlet.xml
... etc

mi web.xmlestá bastante vacío (solo tiene la camiseta)

En la implementación, esto se reescribe en mi liferay para tener una serie de filtros en particular:

<filter>
    <filter-name>Header Filter</filter-name>
    <filter-class>com.liferay.portal.kernel.servlet.PortalClassLoaderFilter</filter-class>
    <init-param>
        <param-name>filter-class</param-name>
        <param-value>com.liferay.portal.servlet.filters.header.HeaderFilter</param-value>
    </init-param>
    <init-param>
        <param-name>Cache-Control</param-name>
        <param-value>max-age=315360000, public</param-value>
    </init-param>
    <init-param>
        <param-name>Expires</param-name>
        <param-value>315360000</param-value>
    </init-param>
</filter>
<filter-mapping>
<filter-name>Header Filter</filter-name>
    <url-pattern>*.js</url-pattern>
</filter-mapping>

Este filtro agrega un encabezado Expires durante aproximadamente 2020 a los archivos .nocache.js js ... el problema es que estos archivos realmente no deberían almacenarse en caché (la pista está en el nombre :)

Para fines de desarrollo, he trabajado alrededor de esto deshabilitando el filtro usando:

com.liferay.portal.servlet.filters.header.HeaderFilter=false

en portal-ext.properties globaly. Lo que me gustaría hacer es uno de los siguientes:

  • Deshabilite HeaderFilter solo para este portlet o archivo war. Siempre puedo agregar mis propios vencimientos
  • Agregue un parámetro init al HeaderFilter para que coincida con cualquier cosa que no sean archivos .nocache.js

¿Alguna idea de cómo se puede lograr alguna de estas cosas?

Pila: liferay-6.0.1 CE, Windows 7, java 1.6.0_18, GWT 2.0.3

Respuesta 1

Quiero rastrear getVariableAndLogAccess (RequestInfo requestInfo) usando el código a continuación. ¿Será seguro para subprocesos si solo estos dos métodos acceden a la variable? ¿Cuál es la forma estándar de hacer que sea seguro para subprocesos? ...

Mi programa Java realiza extracción de texto en archivos RTF utilizando RTFEditorKit. Algunos de los archivos RTF contienen caracteres cirílicos (ruso) y, según la versión RTF, el texto extraído es ...

Estoy revisando las diferencias entre Struts1 y Strust2, descubrí que, un problema común en Struts 1 es programar en clases abstractas en lugar de interfaces. ¿Alguien podría dejarme ...

Tengo una lista de objetos que contiene diferentes tipos de objetos, pero una sola propiedad es común entre todos. La lista contiene objetos de clase de campo, clase de botón, clase de página, etc. pero una propiedad es ...