KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tctest > FastReadSlowWriteTestApp


1 /*
2  * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
3  */

4 package com.tctest;
5
6 import EDU.oswego.cs.dl.util.concurrent.SynchronizedInt;
7
8 import com.tc.object.config.ConfigVisitor;
9 import com.tc.object.config.DSOClientConfigHelper;
10 import com.tc.object.config.TransparencyClassSpec;
11 import com.tc.object.config.spec.SynchronizedIntSpec;
12 import com.tc.simulator.app.ApplicationConfig;
13 import com.tc.simulator.listener.ListenerProvider;
14 import com.tctest.runner.AbstractTransparentApp;
15
16 public class FastReadSlowWriteTestApp extends AbstractTransparentApp {
17
18   public static final int NODE_COUNT = 10;
19   SynchronizedInt idGenerator = new SynchronizedInt(0);
20
21   public FastReadSlowWriteTestApp(String JavaDoc appId, ApplicationConfig config, ListenerProvider listenerProvider) {
22     super(appId, config, listenerProvider);
23   }
24
25   public static void visitL1DSOConfig(ConfigVisitor visitor, DSOClientConfigHelper config) {
26
27     TransparencyClassSpec thisSpec = config.getOrCreateSpec(FastReadSlowWriteTestApp.class.getName());
28     thisSpec.addRoot("idGenerator", "idGenerator");
29     new SynchronizedIntSpec().visit(visitor, config);
30
31     TransparencyClassSpec readerSpec = config.getOrCreateSpec("com.tctest.TestReader");
32     TransparencyClassSpec writerSpec = config.getOrCreateSpec("com.tctest.TestWriter");
33
34     readerSpec.addRoot("stuff", "rootBabyRoot");
35     writerSpec.addRoot("stuff", "rootBabyRoot");
36     config.addReadAutolock("* com.tctest.TestReader.*(..)");
37     config.addWriteAutolock("* com.tctest.TestWriter.*(..)");
38   }
39
40   public void run() {
41     int myId = idGenerator.increment();
42     if (myId % 5 == 1) {
43       new TestWriter().write();
44     } else {
45       new TestReader("" + myId).read();
46     }
47
48   }
49
50 }
51
Popular Tags