1 4 package com.tctest.spring; 5 6 import org.springframework.context.support.ClassPathXmlApplicationContext; 7 8 import com.tc.object.config.ConfigVisitor; 9 import com.tc.object.config.DSOClientConfigHelper; 10 import com.tc.object.config.DSOSpringConfigHelper; 11 import com.tc.object.config.StandardDSOSpringConfigHelper; 12 import com.tc.simulator.app.ApplicationConfig; 13 import com.tc.simulator.listener.ListenerProvider; 14 import com.tctest.TransparentTestBase; 15 import com.tctest.runner.AbstractTransparentApp; 16 import com.tctest.spring.bean.Recorder; 17 18 import java.util.ArrayList ; 19 import java.util.Iterator ; 20 import java.util.List ; 21 22 27 public class InitializingBean_Test extends TransparentTestBase { 28 private static final int LOOP_ITERATIONS = 1; 29 private static final int EXECUTION_COUNT = 1; 30 private static final int NODE_COUNT = 2; 31 32 public InitializingBean_Test() { 33 disableAllUntil("2008-01-01"); 34 } 35 36 protected void setUp() throws Exception { 37 super.setUp(); 38 getTransparentAppConfig().setClientCount(NODE_COUNT).setApplicationInstancePerClientCount(EXECUTION_COUNT) 39 .setIntensity(LOOP_ITERATIONS); 40 initializeTestRunner(); 41 } 42 43 protected Class getApplicationClass() { 44 return InitializingBeanApp.class; 45 } 46 47 48 public static class InitializingBeanApp extends AbstractTransparentApp { 49 private List sharedSingletons = new ArrayList (); 50 51 52 public InitializingBeanApp(String appId, ApplicationConfig cfg, ListenerProvider listenerProvider) { 53 super(appId, cfg, listenerProvider); 54 } 55 56 public void run() { 57 try { 58 ClassPathXmlApplicationContext ctx; 59 Recorder recorder; 60 61 synchronized (sharedSingletons) { 62 ctx = new ClassPathXmlApplicationContext("com/tctest/spring/beanfactory-init.xml"); 63 recorder = (Recorder) ctx.getBean("recorder"); 64 } 65 66 moveToStageAndWait(1); 67 68 int localInitBeanValues = 0; 69 int distributedInitBeanValues = 0; 70 for (Iterator it = recorder.getValues().iterator(); it.hasNext();) { 71 String value = (String ) it.next(); 72 if("localInitBean".equals(value)) { 73 localInitBeanValues++; 74 } else if("distributedInitBean".equals(value)) { 75 distributedInitBeanValues++; 76 } 77 } 78 79 assertEquals(NODE_COUNT, localInitBeanValues); 80 assertEquals(NODE_COUNT, distributedInitBeanValues); 81 82 } catch (Throwable e) { 83 moveToStage(1); 84 notifyError(e); 85 86 } 87 } 88 89 public static void visitL1DSOConfig(ConfigVisitor visitor, DSOClientConfigHelper config) { 90 config.addRoot("com.tctest.spring.MultipleContexts_Test$InitializingBeanApp", "sharedSingletons", "sharedSingletons", false); 91 92 DSOSpringConfigHelper springConfig = new StandardDSOSpringConfigHelper(); 93 springConfig.addApplicationNamePattern(SpringTestConstants.APPLICATION_NAME); springConfig.addConfigPattern("*/beanfactory-init.xml"); 95 springConfig.addBean("recorder"); 96 springConfig.addBean("distributedInitBean"); 97 config.addDSOSpringConfig(springConfig); 98 } 99 100 } 101 102 } 103 104 | Popular Tags |