Skip to content

Instantly share code, notes, and snippets.

@omidp
omidp / RateLimiterConfig.java
Created September 24, 2023 18:10
RateLimiterServlet
import io.github.resilience4j.ratelimiter.RateLimiter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.time.Duration;
@Configuration
public class RateLimiterConfig {
@Bean
@omidp
omidp / application.properties
Created March 18, 2023 11:34
Spring boot application.properties for production
## Postgresql configuration
set Postgresql max_connections to 250
## HikariCP configuration
spring.datasource.hikari.minimumIdle=0
spring.datasource.hikari.maximum-pool-size=90
spring.datasource.hikari.maxLifetime=900000
spring.datasource.hikari.data-source-properties.useServerPrepStmts=false
@omidp
omidp / uuidtobin
Created December 21, 2022 16:11
java uuid to db binary 16
public byte[] getByte(UUID uuid) {
ByteBuffer bb = ByteBuffer.wrap(new byte[16]);
bb.putLong(uuid.getMostSignificantBits());
bb.putLong(uuid.getLeastSignificantBits());
return bb.array();
}
@omidp
omidp / macCheatSheet
Created July 14, 2022 07:16
mac cheatsheet
find . -type d -depth 1 -exec git --git-dir={}/.git --work-tree=$PWD/{} pull \;
@omidp
omidp / sync
Created March 24, 2022 10:30
sync
import java.util.*;
import java.util.concurrent.locks.*;
/**
* A bank with a number of bank accounts that uses locks for serializing access.
*/
public class Bank
{
private final double[] accounts;
@omidp
omidp / GatewayContext.java
Last active February 27, 2022 16:55
scg-body-cache
import org.springframework.util.MultiValueMap;
public class GatewayContext {
public static final String CACHE_GATEWAY_CONTEXT = "cacheGatewayContext";
/**
* cache json body
@omidp
omidp / pidmonitor
Created February 15, 2022 07:20
monitor cpu and mem for a pid
vi pdmonitor.sh
###########
#!/bin/sh
while true
do
date
ps -p [PID] -o %cpu,%mem
sleep 5
@omidp
omidp / ClientHttpPoolConfiguration.java
Created January 23, 2022 07:54 — forked from soverby/ClientHttpPoolConfiguration.java
RestTemplate backed by Apache HttpClient Connection Pool. Addresses RestTemplate HttpConnection exhaustion. Note this implementation is not route tunable and should be expanded when tuning by route is required. Example error: I/O error on POST request for "https://someendpoint": Timeout waiting for connection from pool; nested exception is org.a…
import org.apache.http.client.config.RequestConfig;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class ClientHttpPoolConfiguration {
@omidp
omidp / check active connection netstat
Created December 29, 2021 11:28
check active connection netstat
netstat -anp | grep :80 | grep ESTABLISHED | wc -l
netstat -anp | grep :80 | grep WAITED | wc -l