Thank your for helpng me, I am going to ask in the TomEE users list too. Em qui., 1 de set. de 2022 às 17:40, Romain Manni-Bucau < [email protected]> escreveu:
> Hi > > Dont want to redirect you to tomee but owb properties are read from system > properties and application.properties ( > https://tomee.apache.org/latest/docs/admin/configuration/application.html > ). > > Also tomee uses the http session to store conversation beans so can be > another thing to tune if desired. > > > > Le jeu. 1 sept. 2022 à 19:37, fernando cesar de lima < > [email protected]> a écrit : > >> Hi, this is Fernando, >> >> I am using JSF 3.0 and Conversation Scope in some Managed Beans. The >> problem I am facing is to configure the timeout to expire abandoned >> conversations. The default 30 minutes is too long for my context and I need >> to set this around 10 minutes. I have tried to set the timeout using the >> conversation.setTimeout(10000) method, but, even having the TomEE showing >> that the correct timeout has been settled, through the >> conversation.getTimeout(), it keeps expiring the conversation, and >> consequently destroying the managed beans, only after 30 minutes. >> >> The second approach that I have tried is to create >> openwebbeans.properties file inside the META-INF/openwebbeans directory and >> putting these keys: >> >> configuration.ordinal=101 >> >> org.apache.webbeans.conversation.Conversation.timeoutInterval=10000 >> >> >> Again the results are the same. TomEE shows the correct timeout through >> the conversation.getTimeout() method, but keeps expiring the conversation >> only after 30 minutes. >> >> >> Following is the code that I have used to test the situation: >> >> package estudosjsf; >> >> import java.io.Serializable; >> import java.text.SimpleDateFormat; >> import java.util.Date; >> >> import jakarta.annotation.PostConstruct; >> import jakarta.annotation.PreDestroy; >> import jakarta.enterprise.context.Conversation; >> import jakarta.enterprise.context.ConversationScoped; >> import jakarta.inject.Inject; >> import jakarta.inject.Named; >> >> @Named >> @ConversationScoped >> public class Controller implements Serializable { >> >> private static final long serialVersionUID = 1L; >> >> private String text = "This is a simple text"; >> >> @Inject >> private Conversation conversation; >> >> @PostConstruct >> public void create() { >> System.out.println("Created at " + new >> SimpleDateFormat("HH:mm:ss").format(new Date())); >> } >> >> @PreDestroy >> public void destroy() { >> System.out.println("Destroyed at " + new >> SimpleDateFormat("HH:mm:ss").format(new Date())); >> } >> >> public void begin() { >> conversation.begin(); >> conversation.setTimeout(10000); >> System.out.println(conversation.getTimeout()); >> } >> >> public void end() { >> conversation.end(); >> } >> >> public String getText() { >> return text; >> } >> >> public void setText(String text) { >> this.text = text; >> } >> >> } >> >> >> I really appreciate any help >> >> Thank you very much >> >
