1   /*
2    * Jour - java profiler and monitoring library
3    *
4    * Copyright (C) 2004 Jour team
5    *
6    * This library is free software; you can redistribute it and/or
7    * modify it under the terms of the GNU Library General Public
8    * License as published by the Free Software Foundation; either
9    * version 2 of the License, or (at your option) any later version.
10   *
11   * This library is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14   * Library General Public License for more details.
15   *
16   * You should have received a copy of the GNU Library General Public
17   * License along with this library; if not, write to the
18   * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19   * Boston, MA  02111-1307, USA.
20   */
21  package uut;
22  
23  //import org.apache.log4j.Logger;
24  
25  import uut.service.*;
26  
27  /***
28   * TODO Add docs
29   *
30   * Created on 09.12.2004
31   * Contributing Author(s):
32   *
33   *   Misha Lifschitz <mishalifschitz at users.sourceforge.net> (Inital implementation)
34   *   Vlad Skarzhevskyy <vlads at users.sourceforge.net> (Inital implementation)
35   *
36   * @author vlads
37   * @version $Revision: 1.1 $ ($Author: vlads $)  $Date: 2004/12/09 17:58:42 $
38   */
39  public class ServiceTestCase {
40  
41      public static void main(String[] args) throws Exception {
42          System.out.println("ServiceTestCase.main()");
43          int threads = 3;
44          RunnerThread[] th = new RunnerThread[threads];
45          ServiceImplementation [] si = {
46                  new ServiceImplementation(),
47                  new ServiceFoo(),
48                  new ServiceBar()
49          };
50  
51          for (int i = 0; i < threads; i++) {
52              RunnerThread t = new RunnerThread(i * 10 + 200, si[i]);
53              th[i] = t;
54              t.start();
55          }
56  
57          for (int i = 0; i < th.length; i++) {
58              th[i].join();
59          }
60      }
61      
62      public static class RunnerThread extends Thread {
63          
64          long millis;
65          ServiceImplementation service;
66          
67          RunnerThread(long millis, ServiceImplementation service) {
68              this.millis = millis;
69              this.service = service;
70          }
71          
72          public void doCallService() {
73              service.callDoService("arg");
74          }
75          public void run() {
76          	while(true) {
77          	    doCallService();
78          	    try {
79                      Thread.sleep(millis);
80                  } catch (InterruptedException e) {
81                      break;
82                  }
83          	}
84          }
85      }
86  }