1 17 package org.apache.servicemix.beanflow; 18 19 import org.apache.commons.logging.Log; 20 import org.apache.commons.logging.LogFactory; 21 import org.apache.servicemix.beanflow.annotations.Parallel; 22 23 import java.util.concurrent.CountDownLatch ; 24 import java.util.concurrent.TimeUnit ; 25 26 import junit.framework.Assert; 27 28 33 public class ExampleParallelBean { 35 private static final Log log = LogFactory.getLog(ExampleParallelBean.class); 36 37 private CountDownLatch latch = new CountDownLatch (3); 38 39 public void shouldNotBeRun() { 40 throw new RuntimeException ("Should not be ran"); 41 } 42 43 @Parallel 44 public void methodOne() { 45 log.info("Called method one"); 46 latch.countDown(); 47 log.info("method one complete"); 48 } 49 50 @Parallel 51 public void methodTwo() { 52 log.info("Called method two"); 53 latch.countDown(); 54 log.info("method two complete"); 55 } 56 57 @Parallel 58 public void methodThree() { 59 log.info("Called method three"); 60 latch.countDown(); 61 log.info("method three complete"); 62 } 63 64 public void assertCompleted() throws InterruptedException { 65 latch.await(3000, TimeUnit.MILLISECONDS); 66 if (latch.getCount() > 0) { 67 latch.await(30000, TimeUnit.MILLISECONDS); 68 } 69 Assert.assertEquals("Count down latch value", 0, latch.getCount()); 70 } 71 } 72 | Popular Tags |