KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tctest > performance > http > load > webapp > SessionCreationTest


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.performance.http.load.webapp;
5
6 import com.tctest.performance.http.load.AbstractHttpLoadTest;
7 import com.tctest.performance.http.load.OneHitWorkItem;
8 import com.tctest.performance.http.load.WorkItem;
9
10 public class SessionCreationTest extends AbstractHttpLoadTest {
11
12   private static final String JavaDoc CREATE_SESSION = "/perftest/WebAppServlet?op=create";
13
14   final String JavaDoc[] hosts;
15   int currHost = 0;
16
17   public SessionCreationTest(String JavaDoc[] args) {
18     super(args);
19     hosts = testProperties.getHosts();
20   }
21
22   protected WorkItem[] generateFinishWorkItems() {
23     return new WorkItem[0];
24   }
25
26   protected WorkItem[] generateWarmUpWorkItems() {
27     // hit each server once...
28
final WorkItem[] rv = new WorkItem[hosts.length];
29     for (int i = 0; i < rv.length; i++) {
30       rv[i] = new OneHitWorkItem(hosts[i], CREATE_SESSION);
31     }
32     return rv;
33   }
34
35   protected WorkItem generateWorkItem(long endtime) {
36     return new OneHitWorkItem(getNextHost(), CREATE_SESSION, true, endtime);
37   }
38
39   private synchronized String JavaDoc getNextHost() {
40     final String JavaDoc rv = hosts[currHost];
41     currHost = (currHost + 1) % hosts.length;
42     return rv;
43   }
44
45   public static void main(String JavaDoc[] args) throws Exception JavaDoc {
46     new SessionCreationTest(args).execute();
47   }
48
49 }
50
Popular Tags