Skip to content

Instantly share code, notes, and snippets.

@umit
umit / HandlerMethodArgumentResolverTest.java
Created November 19, 2018 18:20
HandlerMethodArgumentResolverTest.java
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.MethodParameter;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.junit4.SpringRunner;
@umit
umit / kubeconfig.yaml
Last active September 24, 2018 14:54
Minikube Config
apiVersion: v1
clusters:
- cluster:
certificate-authority: /Users/umitunal/.minikube/ca.crt
server: https://192.168.99.100:8443
name: minikube
contexts:
- context:
cluster: minikube
user: minikube
@umit
umit / dashboard-full-access.yaml
Created September 13, 2018 20:24
dashboard-full-access.yaml
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: kubernetes-dashboard
labels:
k8s-app: kubernetes-dashboard
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
@umit
umit / ElasticsearchConfigTest.java
Created August 31, 2018 13:21
Elasticsearch Test Containers
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.client.Client;
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.testcontainers.containers.FixedHostPortGenericContainer;
import org.testcontainers.containers.GenericContainer;
@umit
umit / docker-compose.yaml
Last active July 4, 2018 06:35
Elasticsearch Docker compose
version: '2.2'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.2.4
container_name: elasticsearch
environment:
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
@umit
umit / pom.xml
Created June 6, 2018 21:30
Liquibase diff from prod
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<driver>org.postgresql.Driver</driver>
<url>jdbc:postgresql://localhost:5432/api</url>
<username>root</username>
<password>123qwe</password>
@umit
umit / RetryRestTemplate.java
Last active May 29, 2018 15:25
RetryRestTemplate
import org.springframework.stereotype.Component;
import reactor.core.publisher.Mono;
import reactor.core.scheduler.Schedulers;
import reactor.retry.Retry;
import reactor.retry.RetryExhaustedException;
import java.time.Duration;
import java.util.function.Supplier;
@Component
@umit
umit / GenericRepositoryReactive.java
Last active May 14, 2018 06:11
GenericoRepositoryReactive
import org.reactivestreams.Publisher;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.repository.reactive.ReactiveCrudRepository;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import reactor.core.scheduler.Scheduler;
import reactor.core.scheduler.Schedulers;
@umit
umit / Flux
Last active April 11, 2018 15:12
Flux Mono
List<String> images = IntStream.range(0, 100).mapToObj(each -> "https://picsum.photos/1024/1024/?random").collect(Collectors.toList());
Scheduler subWorker = Schedulers.fromExecutor(Executors.newFixedThreadPool(20));
Scheduler pubWorker = Schedulers.newParallel("aaaa", 5);
RestTemplate restTemplate = new RestTemplate();
Function<String, Publisher<byte[]>> stringPublisherFunction = each -> Mono.defer(() -> {
System.out.println("flux:Mono executor: " + Thread.currentThread().getName() + "- " + Thread.currentThread().getId());
@umit
umit / gist:878807b3c7180454eb56cbd0cd2bcbd4
Created February 25, 2018 11:05
Queue binding from AmqpAdmin
@Bean
public InitializingBean prepareQueues(AmqpAdmin amqpAdmin) {
return () -> {
Queue queue = new Queue("QUEUE_NAME", true);
DirectExchange exchange = new DirectExchange("QUEUE_NAME");
Binding binding = BindingBuilder.bind(queue).to(exchange)
.with("QUEUE_NAME");
amqpAdmin.declareQueue(queue);
amqpAdmin.declareExchange(exchange);