Skip to content

Instantly share code, notes, and snippets.

@wpik
wpik / gist:92642f9feecf8b7ad3f603f3d7de82bc
Created November 30, 2018 10:05
Bind properties to the class in spring
@Configuration
@EnableConfigurationProperties(ClassWithPropertiesToBeFilled.class)
@wpik
wpik / gist:65fb959b052c39b88d552247735f4f9b
Created March 4, 2019 06:54
RFC3339 timestamp regex
private static final Pattern RFC3339_TIMESTAMP_PATTERN = Pattern.compile(
"^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])(?:T|t)" +
"([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(\\.[0-9]+)?" +
"(?:Z|z|(\\+|-)([01][0-9]|2[0-3]):([0-5][0-9]))$"
);
@wpik
wpik / RestTemplateWithDnsOverrideConfig.groovy
Last active March 14, 2019 14:33
RestTemplate with overriden dns to localhost
package example;
import org.apache.http.HttpRequest
import org.apache.http.HttpResponse
import org.apache.http.ProtocolException
import org.apache.http.client.RedirectStrategy
import org.apache.http.client.methods.HttpUriRequest
import org.apache.http.conn.DnsResolver
import org.apache.http.impl.client.HttpClientBuilder
import org.apache.http.protocol.HttpContext
@wpik
wpik / TopDomainExtractor.java
Last active March 14, 2019 14:50
Get top domain from URL
package example;
import com.google.common.net.InternetDomainName;
import org.springframework.stereotype.Service;
import org.springframework.web.util.UriComponentsBuilder;
@Service
public class TopDomainExtractor {
public String getTopDomain(String requestUrl) {
try {
@wpik
wpik / ManualConfiguration.java
Last active March 27, 2019 14:19
spring-kafka notes
import org.springframework.boot.autoconfigure.kafka.ConcurrentKafkaListenerContainerFactoryConfigurer;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
import org.springframework.kafka.core.ConsumerFactory;
import org.springframework.kafka.listener.config.ContainerProperties;
import java.util.regex.Pattern;
@wpik
wpik / MongoDB-Auto-Increment.md
Last active August 20, 2019 12:37
Mongo DB Auto Increment
@wpik
wpik / application.yml
Created September 12, 2019 11:39
Kafka SASL config with spring-cloud-stream kafka-binder
spring:
cloud:
stream:
kafka:
binder:
brokers: kafka-host:9092
configuration:
sasl:
mechanism: PLAIN
security:
@wpik
wpik / ObjectMapperConfig.java
Created September 20, 2019 09:40
Spring tips
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
@Configuration
public class ObjectMapperConfig {
@Bean
public Jackson2ObjectMapperBuilder jacksonBuilder() {
Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
@wpik
wpik / MongoConvertersConfig.java
Last active September 15, 2023 14:56
OffsetDateTime converters in Mongo in Spring
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.convert.converter.Converter;
import org.springframework.data.mongodb.core.convert.MongoCustomConversions;
import java.time.OffsetDateTime;
import java.time.ZoneOffset;
import java.util.List;
@Configuration
@wpik
wpik / KafkaConfig
Created November 18, 2019 14:03
Reprocess kafka events in Spring Kafka
import org.springframework.boot.autoconfigure.kafka.ConcurrentKafkaListenerContainerFactoryConfigurer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
import org.springframework.kafka.core.ConsumerFactory;
import org.springframework.kafka.listener.SeekToCurrentErrorHandler;
@Configuration
public class KafkaConfig {