Tuesday 1 August 2017

Dispatcher - Some points to remember

  • Dispatcher is a caching and load balancing tool for AEM.
  • Dispatcher acts as a firewall and helps to protect site from vulnerable attack.
  • Dispatcher is used in conjunction with a standard web server.

Why Caching & when caching does not work?
Any site performs well when it is served from a cache. Except dynamic data, everything else is recommended to be cached. There are cases where the caching does not work. For eg, get() request, when query parameters are available or no extension, response.setHeader("Dispatcher", "no-cache"), authentication header/cookie or any other cases where the dispatcher rules are not satisfied.

Better ways of serving dynamic content?
While AEM site implementation, the main aim would be caching all site content. When there are content to be served dynamically, we have to serve them through RESTFul service (Page Layout is still cached).

Dispatcher Vs CDN
CDN (Content Delivery Network) is globally distributed and serves request across balanced regions. But AEM Dispatcher resides with AEM and not globally distributed.

Cache invalidation from dispatcher

Below mentioned methods are common in invalidating cache from dispatcher.

From authoring

A replication agent is configured on the AEM author instance, which sends a cache invalidation request to Dispatcher when a new page is published. This invalidates the cache from authoring environment.

From publishing

In this scenario the publishing environment sends a cache invalidation request to Dispatcher when a published page is received.


There are cases when dispatcher cache needs to be invalidated without activation of a page. Such cases we can issue an HTTP request to the dispatcher. The HTTP request delete specific files from the Dispatcher cache.

Read More

Steps to implement any search technology
AEM Dispatcher, why it  is needed?
AEM Desktop App
Figure out the best search technology or tool
Steps to implement search in Solr
Quality of Search - fine tuning search implementation


HTL Intro
HTL Syntax
HTL Options
HTL Variables
HTL Literals
HTL Operators