@@ -22,6 +22,11 @@ public class Server extends AbstractVerticle {
22
22
23
23
private static final int NUMBER_OF_REQUESTS = 1000 ;
24
24
private static final int N_THREADS = 100 ;
25
+ private static final int PORT = 8080 ;
26
+
27
+ private static AtomicInteger allCounter = new AtomicInteger ();
28
+ private static AtomicInteger successCounter = new AtomicInteger ();
29
+ private static AtomicInteger failureCounter = new AtomicInteger ();
25
30
26
31
// Convenience method so you can run it in your IDE
27
32
public static void main (String [] args ) throws InterruptedException {
@@ -47,25 +52,31 @@ public void start() throws Exception {
47
52
router .accept (req );
48
53
});
49
54
50
- server .rxListen (8080 ).subscribe (res -> generateRequests ());
55
+ server .rxListen (PORT ).subscribe (res -> generateRequests ());
51
56
}
52
57
53
58
private void generateRequests () throws InterruptedException {
54
- AtomicInteger ok = new AtomicInteger (0 );
55
- AtomicInteger fail = new AtomicInteger (0 );
56
-
57
59
List <Callable <HttpClient >> tasks = Collections .nCopies (NUMBER_OF_REQUESTS ,
58
60
() -> vertx .createHttpClient ()
59
- .getNow (8080 , "localhost" , "/" , resp ->
60
- log (resp , resp .statusCode () == 200 ? ok .incrementAndGet () : ok .get (),
61
- resp .statusCode () == 503 ? fail .incrementAndGet () : fail .get ())
61
+ .getNow (PORT , "localhost" , "/" , resp ->
62
+ log (resp , successCounter (resp ), failureCounter (resp ))
62
63
));
63
64
Executors .newFixedThreadPool (N_THREADS ).invokeAll (tasks );
65
+ }
66
+
67
+ private int failureCounter (HttpClientResponse resp ) {
68
+ return resp .statusCode () == 503 ? failureCounter .incrementAndGet () : failureCounter .get ();
69
+ }
64
70
71
+ private int successCounter (HttpClientResponse resp ) {
72
+ return resp .statusCode () == 200 ? successCounter .incrementAndGet () : successCounter .get ();
65
73
}
66
74
67
- private void log (HttpClientResponse response , int ok , int fail ) {
68
- System .out .println (response .statusCode () + ", ok=" + ok + ", fail=" + fail );
75
+ private void log (HttpClientResponse response , int success , int failure ) {
76
+ System .out .println (String
77
+ .format (
78
+ "Response status code: [%s] , number of all responses [%s], number of correct responses [%s], number of dropped responses [%s]" ,
79
+ response .statusCode (), allCounter .incrementAndGet (), success , failure ));
69
80
}
70
81
71
82
}
0 commit comments