This content has been marked as final. Show 2 replies
The Endeca cartridge handlers store state in member variables between the preprocess() and process() methods. If you scope Endeca cartridge handlers at a request level, then you will introduce state leakage across cartridges. This is of particular concern when you have multiple instances of the same cartridge type on a single page (e.g. you have multiple refinement menus on your page).
Endeca cartridges must be scoped at prototype level. Doing otherwise will cause the product to behave erratically.
In fact that was our assumption as well initially. But as said in my previous post, we have already tried adding multiple refinements in a page all referring to RefinementMenuHandler which is scoped at request and have observed no difference in the behavior. We have got all the refinements with all the child refinements and observed that there is only one mdex request that is getting fired with all the dimValId's requested for.
Can you please detail the erratic behavior that can occur by having the cartridge handlers request scoped with an example.