Skip to content

Instantly share code, notes, and snippets.

View CharlesLuxinger's full-sized avatar
💭
Always studyng!

Charles Luxinger CharlesLuxinger

💭
Always studyng!
View GitHub Profile
@CharlesLuxinger
CharlesLuxinger / Dockerfile
Last active July 3, 2021 18:02
Ignore Spring Actuator Endpoint in New Relic Transactions Metrics
FROM adoptopenjdk/openjdk11:jre-11.0.9.1_1-alpine
VOLUME /tmp
COPY ./app.jar .
COPY ./newrelic-custom-instrumentation.xml ./extensions/newrelic-custom-instrumentation.xml
COPY ./newrelic.yml .
CMD java -javaagent:newrelic.jar
@CharlesLuxinger
CharlesLuxinger / BigDecimalToDecimal128Converter.kt
Created May 26, 2021 20:25
BigDecimal To Decimal128 Mongo Converter
package br.com.soudonus.credit.port.config.converter
import java.math.BigDecimal
import java.math.RoundingMode
import org.bson.types.Decimal128
import org.springframework.core.convert.converter.Converter
object BigDecimalToDecimal128Converter {
fun decimal128ToBigDecimal(): Converter<Decimal128, BigDecimal> =
Converter<Decimal128, BigDecimal> { decimal128 -> decimal128.bigDecimalValue() }
@CharlesLuxinger
CharlesLuxinger / OffsetDateTimeWriteConverter.kt
Created May 26, 2021 20:24
OffsetDateTime Write Mongo Converter
package br.com.soudonus.credit.port.config.converter
import java.time.OffsetDateTime
import java.util.Date
import org.springframework.core.convert.converter.Converter
import org.springframework.stereotype.Component
@Component
class OffsetDateTimeWriteConverter : Converter<OffsetDateTime, Date> {
override fun convert(offsetDateTime: OffsetDateTime): Date {
@CharlesLuxinger
CharlesLuxinger / OffsetDateTimeReadConverter.kt
Created May 26, 2021 20:23
OffsetDateTime Read Mongo Converter
package br.com.soudonus.credit.port.config.converter
import java.time.OffsetDateTime
import java.time.ZoneOffset
import java.util.Date
import org.springframework.core.convert.converter.Converter
import org.springframework.stereotype.Component
@Component
class OffsetDateTimeReadConverter : Converter<Date, OffsetDateTime> {
@CharlesLuxinger
CharlesLuxinger / MongoConfig.kt
Last active May 26, 2021 20:22
Mongo Config With Auditing and OffDateTime & Decimal128/BigDecimal Converter
package br.com.soudonus.credit.port.config
import br.com.soudonus.credit.port.config.converter.BigDecimalToDecimal128Converter.bigDecimalToDecimal128
import br.com.soudonus.credit.port.config.converter.BigDecimalToDecimal128Converter.decimal128ToBigDecimal
import br.com.soudonus.credit.port.config.converter.OffsetDateTimeReadConverter
import br.com.soudonus.credit.port.config.converter.OffsetDateTimeWriteConverter
import java.time.OffsetDateTime
import java.util.Optional
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
@CharlesLuxinger
CharlesLuxinger / ScrubbingSensitiveDataMasker.kt
Last active May 26, 2021 20:17
Anonymizing json logs Sring Boot - Logback
package com.gist.github.charlesluxinger.port.config
import br.com.soudonus.credit.port.config.Patterns.Companion.scrubbingSensitiveData
import com.fasterxml.jackson.core.JsonStreamContext
import java.util.regex.Pattern
import java.util.stream.Collectors
import net.logstash.logback.mask.ValueMasker
class ScrubbingSensitiveDataMasker : ValueMasker {
@CharlesLuxinger
CharlesLuxinger / Dockerfile
Last active July 12, 2021 18:54
Multi stage Maven Java 11 Build And Run with NewRelic Dockerfile
FROM maven:3.6.3-openjdk-11-slim AS build
WORKDIR /build
COPY pom.xml .
RUN mvn dependency:go-offline
COPY src src
RUN mvn package -DskipTests --batch-mode --fail-fast
@CharlesLuxinger
CharlesLuxinger / RestTemplateConfig.kt
Created April 1, 2021 17:55
RestTemplate Logging Json Body Config
import java.io.BufferedReader
import java.io.InputStreamReader
import java.nio.charset.StandardCharsets
import java.util.ArrayList
import java.util.stream.Collectors
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.http.HttpRequest
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
import java.io.IOException;
import java.time.OffsetDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
public class OffsetDateTimeDeserialize extends StdDeserializer<OffsetDateTime> {
@CharlesLuxinger
CharlesLuxinger / OffsetDateTimeSerialize.java
Last active April 1, 2021 14:44
OffsetDateTimeSerialize
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
import java.io.IOException;
import java.time.OffsetDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
public class OffsetDateTimeSerialize extends StdSerializer<OffsetDateTime> {