Skip to content

Instantly share code, notes, and snippets.

View parthmistry's full-sized avatar

Parth Mistry parthmistry

View GitHub Profile
@parthmistry
parthmistry / ReactiveProcessData.java
Created November 30, 2022 09:22
ReactiveProcessData
import reactor.core.publisher.Flux;
class ReactiveProcessData {
private static ElapsedTimeMonitor elapsedTimeMonitor;
public static void main(String[] args) throws Exception {
int prefetchSize = 100;
@parthmistry
parthmistry / ReactorPrefetchProcessData.java
Created November 27, 2022 04:36
ReactorPrefetchProcessData
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 {
@parthmistry
parthmistry / PollingPrefetchMultiThreadedProcessData.java
Created November 27, 2022 04:36
PollingPrefetchMultiThreadedProcessData
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;
@parthmistry
parthmistry / SimplePrefetchMultiThreadedProcessData.java
Last active November 30, 2022 12:43
SimplePrefetchMultiThreadedProcessData
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 {
@parthmistry
parthmistry / BasicMultiThreadedProcessData.java
Created November 27, 2022 03:42
BasicMultiThreadedProcessData
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 {
@parthmistry
parthmistry / SingleThreadedProcessData.java
Created November 27, 2022 03:39
SingleThreadedProcessData
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");
@parthmistry
parthmistry / CustomizeESClientPoolConnections.java
Last active August 3, 2022 02:45
Customize connection pool settings for Elasticsearch Java API Client
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);
@parthmistry
parthmistry / CustomizePoolConnections.java
Created August 2, 2022 13:03
Customize Apache HTTP Client
var httpClient = HttpClients.custom()
.setMaxConnPerRoute(15)
.setMaxConnTotal(100)
.build();
var httpAsyncClient = HttpAsyncClients.custom()
.setMaxConnPerRoute(15)
.setMaxConnTotal(100)
.build();