|
From: Keith D. <ke...@in...> - 2006-04-11 20:44:24
|
Hi Serge,
Can you open an JIRA issue reporting this? We'll make sure it is resolved
for 1.0 RC1.
Thanks
Keith
> Hi,
>
>
> When requesting the same flow from two browser windows simultaneously
> after
> application start we get error in one window. From the log it is obvious
> that the flow is created simultaneously in two request processing threads
> ("resin-tcp-connection-*:8080-21" and "resin-tcp-connection-*:8080-23" are
> thread names). So, some flow creating synchronization is required.
>
>
> 10:08:41 [INFO] resin-tcp-connection-*:8080-23:
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading
> XML
> bean definitions from file
> [/opt/com/caucho/resin/resin-current/webapps/test/WEB-INF/classes/flows/new-
> entry-flow-beans.xml]
> 10:08:41 [INFO] resin-tcp-connection-*:8080-21:
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading
> XML
> bean definitions from file
> [/opt/com/caucho/resin/resin-current/webapps/test/WEB-INF/classes/flows/new-
> entry-flow-beans.xml]
> 10:08:43 [DEBUG] resin-tcp-connection-*:8080-23:
> org.springframework.web.servlet.DispatcherServlet - Cleared thread-bound
> request context: HttpRequest[11]
> 10:08:43 [ERROR] resin-tcp-connection-*:8080-23:
> org.springframework.web.servlet.DispatcherServlet - Could not complete
> request
> java.lang.IllegalArgumentException: This flow 'new-entry-flow' already
> contains a state with id 'save' -- state ids must be locally unique to the
> flow definition; existing state-ids of this flow include:
> array<String>['start', 'start', 'input', 'save']
> at org.springframework.webflow.Flow.add(Flow.java:202)
> at org.springframework.webflow.State.setFlow(State.java:119)
> at
> org.springframework.webflow.builder.DefaultFlowArtifactFactory.createState(
> DefaultFlowArtifactFactory.java:123)
> at
> org.springframework.webflow.builder.XmlFlowBuilder$LocalFlowArtifactFactory.createState
> (XmlFlowBuilder.java:1149)
> at
> org.springframework.webflow.builder.XmlFlowBuilder.parseActionState(
> XmlFlowBuilder.java:599)
> at
> org.springframework.webflow.builder.XmlFlowBuilder.addStateDefinitions(
> XmlFlowBuilder.java:550)
> at org.springframework.webflow.builder.XmlFlowBuilder.buildStates(
> XmlFlowBuilder.java:534)
> at org.springframework.webflow.builder.FlowAssembler.assembleFlow(
> FlowAssembler.java:111)
> at
> org.springframework.webflow.registry.RefreshableFlowHolder.assembleFlow(
> RefreshableFlowHolder.java:121)
> at
> org.springframework.webflow.registry.RefreshableFlowHolder.getFlow(
> RefreshableFlowHolder.java:76)
> at org.springframework.webflow.registry.FlowRegistryImpl.getFlow(
> FlowRegistryImpl.java:170)
> at
> org.springframework.webflow.execution.repository.support.AbstractFlowExecutionRepository.createFlowExecution
> (AbstractFlowExecutionRepository.java:76)
> at org.springframework.webflow.executor.FlowExecutorImpl.launch(
> FlowExecutorImpl.java:154)
> at
> org.springframework.webflow.executor.support.FlowRequestHandler.handleFlowRequest
> (FlowRequestHandler.java:117)
> at
> org.springframework.webflow.executor.mvc.FlowController.handleRequestInternal
> (FlowController.java:198)
> at
> org.springframework.web.servlet.mvc.AbstractController.handleRequest(
> AbstractController.java:153)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(
> AopUtils.java:287)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint
> (ReflectiveMethodInvocation.java:181)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
> ReflectiveMethodInvocation.java:148)
>
>
> best regards,
> Serge Bogatyrjov.
>
--
Keith Donald
Principal Consultant, Interface21
http://www.springframework.com - Spring Services From the Source
|