tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Kouba <mko...@redhat.com>
Subject The way Tomcat7 fires requestInitialized/requestDestroyed events breaks Weld (CDI)
Date Fri, 06 Dec 2013 11:22:37 GMT
Hi all,

while investigating an user issue I found out that
org.apache.catalina.authenticator.FormAuthenticator (Tomcat 7 codebase)
fires requestInitialized/requestDestroyed events during forwards (login
and error page) [1]. However ApplicationDispatcher fires these events as
well (if "fireRequestListenersOnForwards" is set to true) [2]. So if you
do form based auth init/destroy events are fired 3x.

Moreover it seems the event payload request is missing
"javax.servlet.forward.request_uri" attribute. So Weld is not able to
identify such "nested forward event" and we have problems during CDI
contexts termination.

I think FormAuthenticator should not fire those events at all. And the
event request should have those attributes set. Am I missing something?

Thanks
Martin

[1]
http://grepcode.com/file/repo1.maven.org/maven2/org.apache.tomcat/tomcat-catalina/7.0.42/org/apache/catalina/authenticator/FormAuthenticator.java#471

[2]
http://grepcode.com/file/repo1.maven.org/maven2/org.apache.tomcat/tomcat-catalina/7.0.42/org/apache/catalina/core/ApplicationDispatcher.java#474

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Mime
View raw message