This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import reactor.core.publisher.Flux; | |
class ReactiveProcessData { | |
private static ElapsedTimeMonitor elapsedTimeMonitor; | |
public static void main(String[] args) throws Exception { | |
int prefetchSize = 100; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import reactor.core.publisher.Flux; | |
import reactor.core.publisher.FluxSink; | |
import java.sql.Connection; | |
import java.util.concurrent.Executors; | |
import java.util.concurrent.locks.Condition; | |
import java.util.concurrent.locks.Lock; | |
import java.util.concurrent.locks.ReentrantLock; | |
class PersonDataRetrieverForReactor implements Runnable { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.sql.Connection; | |
import java.util.ArrayList; | |
import java.util.LinkedList; | |
import java.util.List; | |
import java.util.Optional; | |
import java.util.concurrent.Executors; | |
import java.util.concurrent.Future; | |
import java.util.concurrent.locks.Condition; | |
import java.util.concurrent.locks.Lock; | |
import java.util.concurrent.locks.ReentrantLock; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.sql.ResultSet; | |
import java.sql.SQLException; | |
import java.util.ArrayList; | |
import java.util.List; | |
import java.util.concurrent.Executors; | |
import java.util.concurrent.Future; | |
public class SimplePrefetchMultiThreadedProcessData { | |
public static void main(String[] args) throws Exception { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.sql.ResultSet; | |
import java.sql.SQLException; | |
import java.util.ArrayList; | |
import java.util.List; | |
import java.util.concurrent.Callable; | |
import java.util.concurrent.Executors; | |
public class BasicMultiThreadedProcessData { | |
public static void main(String[] args) throws Exception { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class SingleThreadedProcessData { | |
public static void main(String[] args) throws Exception { | |
try (var connection = PrefetchDemoUtil.getConnection()) { | |
var elapsedTimeMonitor = new ElapsedTimeMonitor(); | |
var statement = connection.createStatement(); | |
statement.setFetchSize(100); | |
var resultSet = statement.executeQuery("select * from persons"); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var restClient = RestClient.builder(new HttpHost("SERVER_HOST", SERVER_PORT)) | |
.setHttpClientConfigCallback(clientConfigCallback -> { | |
return clientConfigCallback.setMaxConnPerRoute(50).setMaxConnTotal(50); | |
}).build(); | |
var restClientTransport = new RestClientTransport(restClient, new JacksonJsonpMapper()); | |
var elasticsearchClient = new ElasticsearchAsyncClient(restClientTransport); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var httpClient = HttpClients.custom() | |
.setMaxConnPerRoute(15) | |
.setMaxConnTotal(100) | |
.build(); | |
var httpAsyncClient = HttpAsyncClients.custom() | |
.setMaxConnPerRoute(15) | |
.setMaxConnTotal(100) | |
.build(); |