1 4 package com.tctest.spring; 5 6 import org.springframework.context.support.ClassPathXmlApplicationContext; 7 8 import com.tc.object.config.ConfigLockLevel; 9 import com.tc.object.config.ConfigVisitor; 10 import com.tc.object.config.DSOClientConfigHelper; 11 import com.tc.object.config.DSOSpringConfigHelper; 12 import com.tc.object.config.StandardDSOSpringConfigHelper; 13 import com.tc.simulator.app.ApplicationConfig; 14 import com.tc.simulator.listener.ListenerProvider; 15 import com.tctest.TransparentTestBase; 16 import com.tctest.runner.AbstractTransparentApp; 17 18 import java.util.List ; 19 20 23 public class LogicalBean_Test extends TransparentTestBase { 24 private static final int LOOP_ITERATIONS = 1; 25 private static final int EXECUTION_COUNT = 1; 26 private static final int NODE_COUNT = 2; 27 28 public LogicalBean_Test() { 29 disableAllUntil("2008-01-01"); } 31 32 protected void setUp() throws Exception { 33 super.setUp(); 34 getTransparentAppConfig().setClientCount(NODE_COUNT).setApplicationInstancePerClientCount(EXECUTION_COUNT) 35 .setIntensity(LOOP_ITERATIONS); 36 initializeTestRunner(); 37 } 38 39 protected Class getApplicationClass() { 40 return LogicalBeanApp.class; 41 } 42 43 44 public static class LogicalBeanApp extends AbstractTransparentApp { 45 46 public LogicalBeanApp(String appId, ApplicationConfig cfg, ListenerProvider listenerProvider) { 47 super(appId, cfg, listenerProvider); 48 } 49 50 public void run() { 51 try { 52 moveToStageAndWait(10); 53 54 ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("com/tctest/spring/logicalbeans.xml"); 55 56 List list = (List ) ctx.getBean("logicalBean"); 57 synchronized (list) { 58 list.add(getApplicationId()); 59 } 60 61 moveToStageAndWait(11); 62 63 synchronized (list) { 64 assertEquals("Expected more then one object in the collection", NODE_COUNT, list.size()); 65 } 66 67 moveToStageAndWait(12); 68 69 } catch (Throwable e) { 70 moveToStage(11); 71 moveToStage(12); 72 notifyError(e); 73 74 } 75 } 76 77 78 public static void visitL1DSOConfig(ConfigVisitor visitor, DSOClientConfigHelper config) { 79 config.addIncludePattern("com.tctest.spring.LogicalBean_Test$LogicalBeanApp"); 80 config.addAutolock("* com.tctest.spring.LogicalBean_Test$LogicalBeanApp.run()", ConfigLockLevel.WRITE); 81 82 { 83 DSOSpringConfigHelper springConfig = new StandardDSOSpringConfigHelper(); 84 springConfig.addApplicationNamePattern(SpringTestConstants.APPLICATION_NAME); springConfig.addConfigPattern("*/logicalbeans.xml"); 86 springConfig.addBean("logicalBean"); 87 88 config.addDSOSpringConfig(springConfig); 89 } 90 } 91 92 } 93 94 } 95 96 | Popular Tags |