but now when i optimize my SFSB timeouts i have a new problem.
the classcastexception occurs no more because the http session is over and the JAAS login
screen appears again. when the user now logs in again the app shows not the main screen
but the screen that would have been next if the session hadn't been over. this becomes
a real problem when another user logs in, because he now sees the screen and data of the
user that was previously logged out because of session timeout...
now it seems that the SFSBs still don't get destroyed when the session is over. but
they're both annotated with @Scope(SESSION), this annotation means the http session
right? if thats not the problem its maybe something with the jaas login. i've set up
the security for URL like i found it here
http://www.jboss.com/index.html?module=bb&op=viewtopic&t=74300
but without logged in interceptor.
(i don't think jaas is the cause but that the SFSBs live after the http session is
destroyed, so here is one of my SFSBs)
| package com.evo_solutions.evocompetition.confirmation;
|
| import java.io.Serializable;
| import java.util.ResourceBundle;
|
| import javax.annotation.EJB;
| import javax.ejb.Remove;
| import javax.ejb.Stateful;
| import javax.faces.application.FacesMessage;
|
| import javax.faces.context.FacesContext;
|
| import org.hibernate.validator.Valid;
| import static org.jboss.seam.ScopeType.SESSION;
|
| import org.jboss.annotation.ejb.cache.simple.CacheConfig;
| import org.jboss.seam.annotations.Begin;
| import org.jboss.seam.annotations.Conversational;
| import org.jboss.seam.annotations.Destroy;
| import org.jboss.seam.annotations.IfInvalid;
| import org.jboss.seam.annotations.In;
| import org.jboss.seam.annotations.Name;
| import org.jboss.seam.annotations.Out;
| import org.jboss.seam.annotations.Outcome;
| import org.jboss.seam.annotations.Scope;
|
| import com.evo_solutions.commons.exceptions.EVODatabaseException;
| import com.evo_solutions.commons.exceptions.EVOQueryException;
|
|
| /**
| * @author XerXes
| */
| @Stateful
| @Scope(SESSION)
| @Name("loaddata")
| @Conversational(ifNotBegunOutcome="main")
| @CacheConfig(idleTimeoutSeconds = 950)
| public class LoadDataAction implements LoadData, Serializable{
|
|
| private static final long serialVersionUID = -2470166101310936137L;
|
|
| @In
| private transient FacesContext facesContext;
|
| @In
| @Out @Valid
| private Confirmation confirmation;
|
| @In(create=true)
| @Out
| private PDCProdOrderConfirmation pdcpoc;
|
| private transient ResourceBundle messages;
|
| @In(create=true) @Out
| private Lists lists;
|
| @EJB
| @Out
| private BOConfirmation boconfirmation;
|
| @Out
| private Integer confirmationPossible;
|
|
| @IfInvalid(outcome=Outcome.REDISPLAY)
| @Begin(ifOutcome = "poconfirmation")
| public String loadData(){
| ...
| }
|
|
|
| @Destroy @Remove
| public void destroy(){
| }
| }
|
do you have an idea what i could have missed?
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3960429#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...