1 Reply Latest reply on Jul 16, 2007 5:19 AM by Damian Harvey

    Required Session Bean and server restart / redeploy

    Damian Harvey Master

      I have a UserProfile Bean that I populate in the Authenticator method when a User successfully logs in. I then use this Bean throughout my app for any User related data.

      My Authenticator class outjects the UserProfile like this:

      @Out(required=true, scope=SESSION)
      UserProfile userProfile;

      My UserProfile bean is annotated with @Scope(SESSION).
      My other classes inject the UserProfile like this:
      @In UserProfile userProfile;


      So far so good and this works without problem.

      I do however have an issue when the server restarts, the app gets redeployed or the session times out. After one of these events, if the user attempts to navigate to a page backed by a Bean that has injected the UserProfile, the app redirects to the login page. All good, but the logs spit out the following exception (that is nicely swallowed by Seam):
      javax.el.ELException: org.jboss.seam.RequiredException: @Out attribute requires non-null value: authenticator.userProfile


      This makes me think that I'm not doing this in the correct way. What do you fellas think?

      I've looked at the Wiki example and it puts the User bean directly into the Session context with
      Contexts.getSessionContext().set...
      Is this the preferred way of doing it? Can anyone recommend a better approach?

      Thanks,

      Damian.