Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
5.3, 5.2
Description
Noticed this code:
private final class InjectedPageConduit extends ReadOnlyFieldValueConduit
{
private final String injectedPageName;
private Object page;
private InjectedPageConduit(ComponentResources resources, String fieldName,
String injectedPageName)
{
super(resources, fieldName);
this.injectedPageName = injectedPageName;
resources.addPageLifecycleListener(new PageLifecycleAdapter()
{
@Override
public void containingPageDidDetach()
});
}
public Object get(Object instance, InstanceContext context)
{ if (page == null) page = componentSource.getPage(injectedPageName); return page; }Basically, what we have here is a field per instance storing the page ... this should go in a PerThreadValue. As currently coded, there will be windows where a page in one locale will have a page in some other locale injected into it since the single field is injected across locale (and, in 5.3, ComponentResourceSelector axis').