[jboss-jira] [JBoss JIRA] (AS7-6428) Using Session Scope CDI bean does not work in a HttpSessionListener
Alexis Hassler (JIRA)
jira-events at lists.jboss.org
Tue Feb 5 03:06:51 EST 2013
[ https://issues.jboss.org/browse/AS7-6428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12752139#comment-12752139 ]
Alexis Hassler edited comment on AS7-6428 at 2/5/13 3:05 AM:
-------------------------------------------------------------
I've reproduced your bug on several AS7 versions (7.1.2, 7.1.3, 7.1.4-SNAPSHOT) and EAP versions (6.0.0, 6.0.1).
My sample code (with an Arquillian test) is on github : https://github.com/hasalex/jboss-samples/tree/master/sessionlistener
was (Author: sewatech):
I've reproduced your bug on several AS7 versions (7.1.2, 7.1.3, 7.1.4-SNAPSHOT) and EAP versions (6.0.0, 6.0.1).
My sample code is on github : https://github.com/hasalex/jboss-samples/tree/master/sessionlistener
> Using Session Scope CDI bean does not work in a HttpSessionListener
> -------------------------------------------------------------------
>
> Key: AS7-6428
> URL: https://issues.jboss.org/browse/AS7-6428
> Project: Application Server 7
> Issue Type: Bug
> Components: CDI / Weld
> Affects Versions: 7.1.1.Final
> Environment: linux 64bits, win7 64 bits
> Reporter: nicolas marchais
> Assignee: Stuart Douglas
> Fix For: No Release
>
>
> JBoss AS 7.1.x has a bug with using session bean scope in a HttpSessionListener.
> When i inject a session scope bean in a HttpSessionListener and i try to populate attribute in sessionCreated() method many HttpSession are created by JBoss AS. Is it normal the a web server create many Http session for the same request ?
> Normally, this behaviour should work. See : http://docs.jboss.org/cdi/api/1.1-PRD/javax/enterprise/context/SessionScoped.html
> I did a light Web Project to explain the problem with 1 JSP, 1 SessionScope bean and 1 HttpSessionListener.
> Here is the code.
> JSP page :
> <%@ page language="java" contentType="text/html; charset=UTF-8"
> pageEncoding="UTF-8"%>
> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
> <html>
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
> <title>Insert title here</title>
> </head>
> <body>
> </body>
> </html>
> SessionScope bean :
> @Named
> @SessionScoped
> public class UserState implements Serializable {
> private int state;
> public int getState() {
> return state;
> }
> public void setState(int state) {
> this.state = state;
> }
> }
> HttpSessionListener :
> @WebListener
> public class SessionListener implements HttpSessionListener {
> @Inject private UserState userState;
>
> @Override
> public void sessionCreated(HttpSessionEvent event) {
> System.out.println("New HTTP Session created : " + event.getSession().getId());
> userState.setState(2);
> }
> @Override
> public void sessionDestroyed(HttpSessionEvent event) {}
> }
> After execution, you can read in the console at least 2 http session creation like this :
> New HTTP Session created : zvlF6vGLP1AaXM-rzFU02wAJ.undefined
> New HTTP Session created : TlrmmA8Eu4v32SHDT0QBBZza.undefined
> The first session seams to be the one which is used by the client. There is one more problem : The polutated attributes of the session scope bean are ignored after HttpSessionListener execution. At the end all session scope attributes are null.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list