Skip to content

Commit bb2f2ba

Browse files
author
Jonathan Henrique Medeiros
committed
Configured logs pattern and migrated from .properties to .yaml config file
1 parent 2c12f2c commit bb2f2ba

File tree

13 files changed

+281
-81
lines changed

13 files changed

+281
-81
lines changed

agents/prometheus/prometheus-configuration.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ scrape_configs:
1616
scrape_interval: 5s
1717
honor_timestamps: true
1818
scheme: http
19-
metrics_path: actuator/prometheus
19+
metrics_path: /prometheus
2020
static_configs:
2121
- targets: [ "host.docker.internal:8080" ]
2222
labels:

pom.xml

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
<maven.compiler.source>${java.version}</maven.compiler.source>
2020
<maven.compiler.target>${java.version}</maven.compiler.target>
2121
<mapstruct.version>1.5.5.Final</mapstruct.version>
22+
<logstash-logback-encoder.version>7.3</logstash-logback-encoder.version>
2223
<springdoc-openapi-starter-webmvc-ui.version>2.1.0</springdoc-openapi-starter-webmvc-ui.version>
2324
<snakyaml.version>2.0</snakyaml.version>
2425
<h2.version>2.1.214</h2.version>
@@ -51,6 +52,12 @@
5152
<dependency>
5253
<groupId>org.springframework.boot</groupId>
5354
<artifactId>spring-boot-starter-undertow</artifactId>
55+
<exclusions>
56+
<exclusion>
57+
<artifactId>undertow-websockets-jsr</artifactId>
58+
<groupId>io.undertow</groupId>
59+
</exclusion>
60+
</exclusions>
5461
</dependency>
5562
<dependency>
5663
<groupId>org.springframework.boot</groupId>
@@ -95,6 +102,11 @@
95102
<artifactId>mapstruct</artifactId>
96103
<version>${mapstruct.version}</version>
97104
</dependency>
105+
<dependency>
106+
<groupId>net.logstash.logback</groupId>
107+
<artifactId>logstash-logback-encoder</artifactId>
108+
<version>${logstash-logback-encoder.version}</version>
109+
</dependency>
98110
<dependency>
99111
<groupId>org.springdoc</groupId>
100112
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
@@ -116,8 +128,6 @@
116128
<artifactId>spring-boot-starter-test</artifactId>
117129
<scope>test</scope>
118130
</dependency>
119-
120-
<!-- REQUIRED TO CUSTOM INSTRUMENTATION -->
121131
<dependency>
122132
<groupId>io.opentelemetry</groupId>
123133
<artifactId>opentelemetry-api</artifactId>
@@ -126,16 +136,34 @@
126136

127137
<build>
128138
<plugins>
139+
<plugin>
140+
<groupId>org.apache.maven.plugins</groupId>
141+
<artifactId>maven-resources-plugin</artifactId>
142+
<version>${maven-resources-plugin.version}</version>
143+
<configuration>
144+
<delimiters>
145+
<delimiter>@</delimiter>
146+
</delimiters>
147+
<useDefaultDelimiters>false</useDefaultDelimiters>
148+
</configuration>
149+
</plugin>
150+
<plugin>
151+
<groupId>org.apache.maven.plugins</groupId>
152+
<artifactId>maven-dependency-plugin</artifactId>
153+
<executions>
154+
<execution>
155+
<phase>package</phase>
156+
</execution>
157+
</executions>
158+
</plugin>
129159
<plugin>
130160
<groupId>org.springframework.boot</groupId>
131161
<artifactId>spring-boot-maven-plugin</artifactId>
132162
</plugin>
133163
<plugin>
134164
<groupId>org.apache.maven.plugins</groupId>
135165
<artifactId>maven-compiler-plugin</artifactId>
136-
<version>${maven-compiler-plugin.version}</version>
137166
<configuration>
138-
<release>${java.version}</release>
139167
<source>${java.version}</source>
140168
<target>${java.version}</target>
141169
<annotationProcessorPaths>

src/main/java/br/com/multidatasources/config/datasource/MasterDataSourceConfiguration.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,38 +8,40 @@
88

99
import javax.sql.DataSource;
1010

11+
import static br.com.multidatasources.config.datasource.DataSourceType.READ_WRITE;
12+
1113
@Configuration
1214
public class MasterDataSourceConfiguration implements DataSourceConfiguration {
1315

1416
@Override
1517
public String getPoolName() {
16-
return DataSourceType.READ_WRITE.getPoolName();
18+
return READ_WRITE.getPoolName();
1719
}
1820

1921
@Override
2022
public int getMinimumIdle() {
21-
return DataSourceType.READ_WRITE.getMinimumIdle();
23+
return READ_WRITE.getMinimumIdle();
2224
}
2325

2426
@Override
2527
public int getMaximumPoolSize() {
26-
return DataSourceType.READ_WRITE.getMaximumPoolSize();
28+
return READ_WRITE.getMaximumPoolSize();
2729
}
2830

2931
@Override
3032
public long getConnectionTimeout() {
31-
return DataSourceType.READ_WRITE.getConnectionTimeout();
33+
return READ_WRITE.getConnectionTimeout();
3234
}
3335

3436
@Override
3537
public long getMaxLifetime() {
36-
return DataSourceType.READ_WRITE.getMaxLifetime();
38+
return READ_WRITE.getMaxLifetime();
3739
}
3840

3941
@Bean
4042
@MasterDataSource
4143
public DataSource masterDataSource(@MasterProperties final DatabaseConnectionProperties properties) {
42-
DriverManagerDataSource dataSource = new DriverManagerDataSource();
44+
final var dataSource = new DriverManagerDataSource();
4345

4446
dataSource.setUrl(properties.getUrl());
4547
dataSource.setUsername(properties.getUsername());

src/main/java/br/com/multidatasources/config/datasource/ReplicaDataSourceConfiguration.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,38 +8,40 @@
88

99
import javax.sql.DataSource;
1010

11+
import static br.com.multidatasources.config.datasource.DataSourceType.READ_ONLY;
12+
1113
@Configuration
1214
public class ReplicaDataSourceConfiguration implements DataSourceConfiguration {
1315

1416
@Override
1517
public String getPoolName() {
16-
return DataSourceType.READ_ONLY.getPoolName();
18+
return READ_ONLY.getPoolName();
1719
}
1820

1921
@Override
2022
public int getMinimumIdle() {
21-
return DataSourceType.READ_ONLY.getMinimumIdle();
23+
return READ_ONLY.getMinimumIdle();
2224
}
2325

2426
@Override
2527
public int getMaximumPoolSize() {
26-
return DataSourceType.READ_ONLY.getMaximumPoolSize();
28+
return READ_ONLY.getMaximumPoolSize();
2729
}
2830

2931
@Override
3032
public long getConnectionTimeout() {
31-
return DataSourceType.READ_ONLY.getConnectionTimeout();
33+
return READ_ONLY.getConnectionTimeout();
3234
}
3335

3436
@Override
3537
public long getMaxLifetime() {
36-
return DataSourceType.READ_ONLY.getMaxLifetime();
38+
return READ_ONLY.getMaxLifetime();
3739
}
3840

3941
@Bean
4042
@ReplicaDataSource
4143
public DataSource replicaDataSource(@ReplicaProperties final DatabaseConnectionProperties properties) {
42-
DriverManagerDataSource dataSource = new DriverManagerDataSource();
44+
final var dataSource = new DriverManagerDataSource();
4345

4446
dataSource.setUrl(properties.getUrl());
4547
dataSource.setUsername(properties.getUsername());

src/main/java/br/com/multidatasources/config/flyway/FlywayConfiguration.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
package br.com.multidatasources.config.flyway;
22

33
import br.com.multidatasources.config.datasource.MasterDataSource;
4-
import br.com.multidatasources.config.datasource.MasterDataSourceConfiguration;
54
import br.com.multidatasources.config.properties.flyway.FlywayProperties;
65
import org.flywaydb.core.Flyway;
76
import org.flywaydb.core.api.MigrationVersion;
8-
import org.springframework.beans.factory.annotation.Qualifier;
97
import org.springframework.context.annotation.Bean;
108
import org.springframework.context.annotation.Configuration;
119

@@ -28,12 +26,12 @@ public FlywayConfiguration(
2826
@Bean
2927
public Flyway flyway(){
3028
return Flyway.configure()
31-
.baselineOnMigrate(flywayProperties.isBaselineOnMigrate())
32-
.locations(flywayProperties.getLocations())
33-
.dataSource(dataSource)
34-
.schemas(flywayProperties.getSchemaName())
35-
.target(MigrationVersion.LATEST)
36-
.load();
29+
.baselineOnMigrate(flywayProperties.isBaselineOnMigrate())
30+
.locations(flywayProperties.getLocations())
31+
.dataSource(dataSource)
32+
.schemas(flywayProperties.getSchemaName())
33+
.target(MigrationVersion.LATEST)
34+
.load();
3735
}
3836

3937
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package br.com.multidatasources.config.objectmapper;
2+
3+
import com.fasterxml.jackson.annotation.JsonInclude;
4+
import com.fasterxml.jackson.databind.DeserializationFeature;
5+
import com.fasterxml.jackson.databind.ObjectMapper;
6+
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
7+
import com.fasterxml.jackson.databind.SerializationFeature;
8+
import com.fasterxml.jackson.databind.util.StdDateFormat;
9+
import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
10+
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
11+
import org.springframework.context.annotation.Bean;
12+
import org.springframework.context.annotation.Configuration;
13+
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
14+
15+
@Configuration
16+
public class ObjectMapperConfig {
17+
18+
private static final ObjectMapper objectMapper = new Jackson2ObjectMapperBuilder()
19+
.dateFormat(new StdDateFormat())
20+
.featuresToDisable(
21+
DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,
22+
DeserializationFeature.FAIL_ON_NULL_FOR_PRIMITIVES,
23+
DeserializationFeature.FAIL_ON_NULL_CREATOR_PROPERTIES,
24+
SerializationFeature.WRITE_DATES_AS_TIMESTAMPS
25+
)
26+
.modules(
27+
new JavaTimeModule(),
28+
new Jdk8Module()
29+
)
30+
.propertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE)
31+
.build()
32+
.setSerializationInclusion(JsonInclude.Include.NON_NULL);
33+
34+
@Bean
35+
public static ObjectMapper objectMapper() {
36+
return objectMapper.copy();
37+
}
38+
39+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package br.com.multidatasources.config.openapi;
2+
3+
import com.fasterxml.jackson.databind.ObjectMapper;
4+
import io.swagger.v3.core.jackson.ModelResolver;
5+
import org.springframework.context.annotation.Bean;
6+
import org.springframework.context.annotation.Configuration;
7+
8+
@Configuration
9+
public class OpenApiConfig {
10+
11+
@Bean
12+
public ModelResolver modelResolver(final ObjectMapper objectMapper) {
13+
return new ModelResolver(objectMapper);
14+
}
15+
16+
}

src/main/java/br/com/multidatasources/config/properties/flyway/FlywayProperties.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
package br.com.multidatasources.config.properties.flyway;
22

3+
import java.util.List;
4+
35
public class FlywayProperties {
46

57
private String schemaName;
68
private boolean baselineOnMigrate;
7-
private String[] locations;
9+
private List<String> locations;
810

911
public FlywayProperties() { }
1012

11-
public FlywayProperties(final String schemaName, final boolean baselineOnMigrate, final String[] locations) {
13+
public FlywayProperties(final String schemaName, final boolean baselineOnMigrate, final List<String> locations) {
1214
this.schemaName = schemaName;
1315
this.baselineOnMigrate = baselineOnMigrate;
1416
this.locations = locations;
@@ -31,10 +33,10 @@ public void setBaselineOnMigrate(final boolean baselineOnMigrate) {
3133
}
3234

3335
public String[] getLocations() {
34-
return locations;
36+
return locations.toArray(new String[0]);
3537
}
3638

37-
public void setLocations(final String[] locations) {
39+
public void setLocations(final List<String> locations) {
3840
this.locations = locations;
3941
}
4042

src/main/java/br/com/multidatasources/config/routing/DataSourceRoutingConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public TransactionRoutingDataSource routingDataSource(
2020
@MasterDataSource final DataSource masterDataSource,
2121
@ReplicaDataSource final DataSource slaveDataSource
2222
) {
23-
final TransactionRoutingDataSource routingDataSource = new TransactionRoutingDataSource();
23+
final var routingDataSource = new TransactionRoutingDataSource();
2424

2525
final Map<Object, Object> dataSourceMap = new HashMap<>();
2626
dataSourceMap.put(DataSourceType.READ_WRITE, masterDataSource);

src/main/resources/application.properties

Lines changed: 0 additions & 49 deletions
This file was deleted.

0 commit comments

Comments
 (0)