The problem is that there is a registered bean ([coming from JSF impl|https://github.com/javaserverfaces/mojarra/blob/master/impl/src/main/java/com/sun/faces/cdi/RequestMapProducer.java]) of type {{com.sun.faces.context.RequestMap}} which is just a little more fancier {{Map}}.
One of the elements of this map (stored under key {{"org.jboss.weld.context.http.HttpRequestContext#com.sun.faces.cdi.RequestMapProducer"}} is the Map itself. This OFC blows up when you try to do {{Map.toString()}} which is what using the EL expression ultimately does.
Now When Weld is given the bean instance from JSF, e.g. when it is first accessed, creation process is triggered followed by storing the bean in our bean store for request scoped beans. This store is a write through cache which goes straight to {{HTTPServletRequest.setAtribute()}} - e.g. we "just" put the bean right back into the HTTP request which goes into the map.
This is essentially correct as we need to figure out whos store all beans there, this SO error is populating only because of this map with itself recursive {{toString()}} call .
Same story should go for {{#sessionMap}} only neither the original reproducer not the one in our TS actually triggers session creation . We should verify that as well . |
|