1 17 package org.apache.servicemix.beanflow; 18 19 import org.apache.servicemix.beanflow.util.ActivityTestSupport; 20 21 import java.util.concurrent.TimeUnit ; 22 23 27 public class JoinTest extends ActivityTestSupport { 28 29 public static class JoinFlow extends Workflow<JoinFlow.Step> { 30 31 public static enum Step { 32 first, stop 33 } 34 35 public JoinFlow() { 36 super(Step.first); 37 } 38 39 public void first() { 40 final Activity a = new TimeoutActivity() { 41 protected void onValidStateChange() { 42 System.out.println("in a"); 43 stop(); 44 System.out.println("a now stopped"); 45 } 46 }; 47 final Activity b = new TimeoutActivity() { 48 protected void onValidStateChange() { 49 System.out.println("in b"); 50 stop(); 51 System.out.println("b now stopped"); 52 } 53 }; 54 System.out.println("in first"); 55 joinAll(Step.stop, 10000, a, b); 56 System.out.println("after join"); 57 } 58 } 59 60 public void testJoin() throws Exception { 61 JoinFlow flow = new JoinFlow(); 62 flow.start(); 63 System.out.println("waiting for top flow to stop"); 64 flow.join(20, TimeUnit.SECONDS); 65 assertStopped(flow); 66 System.out.println("complete!"); 67 } 68 69 } | Popular Tags |