You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2014/04/14 23:24:17 UTC
svn commit: r1587326 - in
/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/flow:
FlowController_ImplBase.java impl/FixedFlowController.java
Author: schor
Date: Mon Apr 14 21:24:17 2014
New Revision: 1587326
URL: http://svn.apache.org/r1587326
Log:
[UIMA-2373] Fix likely underlying cause of this Jira issue.
Modified:
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/flow/FlowController_ImplBase.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/flow/impl/FixedFlowController.java
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/flow/FlowController_ImplBase.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/flow/FlowController_ImplBase.java?rev=1587326&r1=1587325&r2=1587326&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/flow/FlowController_ImplBase.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/flow/FlowController_ImplBase.java Mon Apr 14 21:24:17 2014
@@ -40,7 +40,7 @@ import org.apache.uima.resource.Resource
* provide a more intelligent implementation.
*/
public abstract class FlowController_ImplBase implements FlowController {
- private FlowControllerContext mContext;
+ private FlowControllerContext mContext = null;
/*
* (non-Javadoc)
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/flow/impl/FixedFlowController.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/flow/impl/FixedFlowController.java?rev=1587326&r1=1587325&r2=1587326&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/flow/impl/FixedFlowController.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/flow/impl/FixedFlowController.java Mon Apr 14 21:24:17 2014
@@ -72,14 +72,17 @@ public class FixedFlowController extends
private static final int ACTION_DROP_IF_NEW_CAS_PRODUCED = 3;
- private List<String> mSequence;
+ // make final to work better in multi-thread case UIMA-2373
+ final private List<String> mSequence = new ArrayList<String>();
private int mActionAfterCasMultiplier;
- public void initialize(FlowControllerContext aContext) throws ResourceInitializationException {
+ public synchronized void initialize(FlowControllerContext aContext) throws ResourceInitializationException {
+ if (getContext() == aContext) {
+ return; // only do initialize once per instance of this and same context
+ }
super.initialize(aContext);
FlowConstraints flowConstraints = aContext.getAggregateMetadata().getFlowConstraints();
- mSequence = new ArrayList<String>();
if (flowConstraints instanceof FixedFlow) {
String[] sequence = ((FixedFlow) flowConstraints).getFixedFlow();
for( String key : sequence ) {