@@ -90,26 +90,37 @@ private void printStats(TestTransport transport) {
90
90
@ Test
91
91
public void basicTestFlush () throws Exception {
92
92
// Prime numbers, so that we have leftovers to flush before shutting down
93
- multiThreadTest (7 , 3 , 5 , 101 );
93
+ multiThreadTest (7 , 3 , 5 , 101 , true );
94
+ }
95
+
96
+ @ Test
97
+ public void basicTestFlushWithInternalScheduler () throws Exception {
98
+ // Prime numbers, so that we have leftovers to flush before shutting down
99
+ multiThreadTest (7 , 3 , 5 , 101 , false );
94
100
}
95
101
96
102
@ Test
97
103
public void basicTestNoFlush () throws Exception {
98
104
// Will have nothing to flush on close.
99
- multiThreadTest (10 , 3 , 5 , 100 );
105
+ multiThreadTest (10 , 3 , 5 , 100 , true );
100
106
}
101
107
102
- private void multiThreadTest (int maxOperations , int maxRequests , int numThreads , int numOperations ) throws Exception {
108
+ private void multiThreadTest (int maxOperations , int maxRequests , int numThreads , int numOperations , boolean externalScheduler ) throws Exception {
103
109
104
110
CountingListener listener = new CountingListener ();
105
111
TestTransport transport = new TestTransport ();
106
112
ElasticsearchAsyncClient client = new ElasticsearchAsyncClient (transport );
107
- ScheduledExecutorService scheduler = Executors .newSingleThreadScheduledExecutor (r -> {
113
+ ScheduledExecutorService scheduler ;
114
+ if (externalScheduler ) {
115
+ scheduler = Executors .newSingleThreadScheduledExecutor (r -> {
108
116
Thread t = Executors .defaultThreadFactory ().newThread (r );
109
- t .setName ("my-bulk-ingester-executor#" );
117
+ t .setName ("my-bulk-ingester-executor#" );
110
118
t .setDaemon (true );
111
119
return t ;
112
- });
120
+ });
121
+ } else {
122
+ scheduler = null ;
123
+ }
113
124
114
125
BulkIngester <Void > ingester = BulkIngester .of (b -> b
115
126
.client (client )
@@ -139,7 +150,7 @@ private void multiThreadTest(int maxOperations, int maxRequests, int numThreads,
139
150
140
151
ingester .close ();
141
152
transport .close ();
142
- scheduler .shutdownNow ();
153
+ if ( scheduler != null ) scheduler .shutdownNow ();
143
154
144
155
printStats (ingester );
145
156
printStats (listener );
0 commit comments