Search in sources :

Example 1 with SessionBindingConversationManager

use of org.springframework.webflow.conversation.impl.SessionBindingConversationManager in project cas by apereo.

the class CasWebflowContextConfiguration method flowExecutorViaServerSessionBindingExecution.

@Bean
public FlowExecutor flowExecutorViaServerSessionBindingExecution() {
    final FlowDefinitionRegistry loginFlowRegistry = loginFlowRegistry();
    final SessionBindingConversationManager conversationManager = new SessionBindingConversationManager();
    conversationManager.setLockTimeoutSeconds(Long.valueOf(casProperties.getWebflow().getSession().getLockTimeout()).intValue());
    conversationManager.setMaxConversations(casProperties.getWebflow().getSession().getMaxConversations());
    final FlowExecutionImplFactory executionFactory = new FlowExecutionImplFactory();
    final SerializedFlowExecutionSnapshotFactory flowExecutionSnapshotFactory = new SerializedFlowExecutionSnapshotFactory(executionFactory, loginFlowRegistry);
    flowExecutionSnapshotFactory.setCompress(casProperties.getWebflow().getSession().isCompress());
    final DefaultFlowExecutionRepository repository = new DefaultFlowExecutionRepository(conversationManager, flowExecutionSnapshotFactory);
    executionFactory.setExecutionKeyFactory(repository);
    return new FlowExecutorImpl(loginFlowRegistry, executionFactory, repository);
}
Also used : DefaultFlowExecutionRepository(org.springframework.webflow.execution.repository.impl.DefaultFlowExecutionRepository) SessionBindingConversationManager(org.springframework.webflow.conversation.impl.SessionBindingConversationManager) SerializedFlowExecutionSnapshotFactory(org.springframework.webflow.execution.repository.snapshot.SerializedFlowExecutionSnapshotFactory) FlowDefinitionRegistry(org.springframework.webflow.definition.registry.FlowDefinitionRegistry) FlowExecutorImpl(org.springframework.webflow.executor.FlowExecutorImpl) FlowExecutionImplFactory(org.springframework.webflow.engine.impl.FlowExecutionImplFactory) CipherBean(org.cryptacular.bean.CipherBean) ConditionalOnMissingBean(org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean) Bean(org.springframework.context.annotation.Bean)

Example 2 with SessionBindingConversationManager

use of org.springframework.webflow.conversation.impl.SessionBindingConversationManager in project cas by apereo.

the class WebflowExecutorFactory method buildFlowExecutorViaServerSessionBindingExecution.

private FlowExecutor buildFlowExecutorViaServerSessionBindingExecution() {
    val conversationManager = new SessionBindingConversationManager();
    val session = webflowProperties.getSession();
    conversationManager.setLockTimeoutSeconds((int) Beans.newDuration(session.getLockTimeout()).getSeconds());
    conversationManager.setMaxConversations(session.getMaxConversations());
    val executionFactory = new FlowExecutionImplFactory();
    executionFactory.setExecutionListenerLoader(new StaticFlowExecutionListenerLoader(executionListeners));
    val flowExecutionSnapshotFactory = new SerializedFlowExecutionSnapshotFactory(executionFactory, this.flowDefinitionRegistry);
    flowExecutionSnapshotFactory.setCompress(session.isCompress());
    val repository = new DefaultFlowExecutionRepository(conversationManager, flowExecutionSnapshotFactory);
    executionFactory.setExecutionKeyFactory(repository);
    return new FlowExecutorImpl(this.flowDefinitionRegistry, executionFactory, repository);
}
Also used : lombok.val(lombok.val) DefaultFlowExecutionRepository(org.springframework.webflow.execution.repository.impl.DefaultFlowExecutionRepository) SessionBindingConversationManager(org.springframework.webflow.conversation.impl.SessionBindingConversationManager) SerializedFlowExecutionSnapshotFactory(org.springframework.webflow.execution.repository.snapshot.SerializedFlowExecutionSnapshotFactory) StaticFlowExecutionListenerLoader(org.springframework.webflow.execution.factory.StaticFlowExecutionListenerLoader) FlowExecutorImpl(org.springframework.webflow.executor.FlowExecutorImpl) FlowExecutionImplFactory(org.springframework.webflow.engine.impl.FlowExecutionImplFactory)

Aggregations

SessionBindingConversationManager (org.springframework.webflow.conversation.impl.SessionBindingConversationManager)2 FlowExecutionImplFactory (org.springframework.webflow.engine.impl.FlowExecutionImplFactory)2 DefaultFlowExecutionRepository (org.springframework.webflow.execution.repository.impl.DefaultFlowExecutionRepository)2 SerializedFlowExecutionSnapshotFactory (org.springframework.webflow.execution.repository.snapshot.SerializedFlowExecutionSnapshotFactory)2 FlowExecutorImpl (org.springframework.webflow.executor.FlowExecutorImpl)2 lombok.val (lombok.val)1 CipherBean (org.cryptacular.bean.CipherBean)1 ConditionalOnMissingBean (org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean)1 Bean (org.springframework.context.annotation.Bean)1 FlowDefinitionRegistry (org.springframework.webflow.definition.registry.FlowDefinitionRegistry)1 StaticFlowExecutionListenerLoader (org.springframework.webflow.execution.factory.StaticFlowExecutionListenerLoader)1