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