public class VersionedResourceHandler extends DefaultResourceHandler
v
to all resource URLs so, in production mode
they will be cached forever (or as configured in web.xml),
but will not be stale when a new version of the app is deployed.
NOTE: if resource URL already has v
query string parameter, or when it is URL-rewritten to not include
"/javax.faces.resource"
path anymore, then these will be ignored.
Example:
faces-config.xml:<application> <resource-handler>org.omnifaces.resourcehandler.VersionedResourceHandler</resource-handler> </application>
web.xml:<context-param> <!-- Mojarra: 1 year cache, effects production mode only --> <param-name>com.sun.faces.defaultResourceMaxAge</param-name> <param-value>31536000000</param-value> </context-param> <context-param> <param-name>org.omnifaces.VERSIONED_RESOURCE_HANDLER_VERSION</param-name> <!-- Version string could be any string here, or taken from @Named bean --> <param-value>#{environmentInfo.version}</param-value> </context-param>
Modifier and Type | Field and Description |
---|---|
static String |
PARAM_NAME_VERSION
The context parameter name to specify value of the version to be appended to the resource URL.
|
RES_NOT_FOUND
JSF_SCRIPT_LIBRARY_NAME, JSF_SCRIPT_RESOURCE_NAME, LOCALE_PREFIX, RESOURCE_CONTRACT_XML, RESOURCE_EXCLUDES_DEFAULT_VALUE, RESOURCE_EXCLUDES_PARAM_NAME, RESOURCE_IDENTIFIER, WEBAPP_CONTRACTS_DIRECTORY_PARAM_NAME, WEBAPP_RESOURCES_DIRECTORY_PARAM_NAME
Constructor and Description |
---|
VersionedResourceHandler(ResourceHandler wrapped) |
Modifier and Type | Method and Description |
---|---|
Resource |
decorateResource(Resource resource)
Decorate the given resource.
|
createResource, createResource, createResource, createResourceFromLibrary, decorateResource, getLibraryName
createResourceFromId, createViewResource, getRendererTypeForResourceName, getViewResources, getViewResources, getWrapped, handleResourceRequest, isResourceRendered, isResourceRequest, isResourceURL, libraryExists, markResourceRendered
public static final String PARAM_NAME_VERSION
public VersionedResourceHandler(ResourceHandler wrapped)
public Resource decorateResource(Resource resource)
DefaultResourceHandler
The default implementation just returns the given resource unmodified.
decorateResource
in class DefaultResourceHandler
resource
- The resource to be decorated.Copyright © 2012–2021 OmniFaces. All rights reserved.