Skip to content

Commit 598fbe0

Browse files
committed
Fix database calls during startup
1 parent 19b0d38 commit 598fbe0

File tree

6 files changed

+17
-8
lines changed

6 files changed

+17
-8
lines changed

Dockerfile

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,14 @@ FROM eclipse-temurin:21-jdk-alpine as builder
22
WORKDIR /application
33
ARG JAR_FILE=build/libs/faf-java-api-*.jar
44
COPY ${JAR_FILE} application.jar
5-
COPY test-pki-private.key pki/secret.key
6-
COPY test-pki-public.key pki/public.key
5+
COPY test-pki-private.key /pki/secret.key
6+
COPY test-pki-public.key /pki/public.key
7+
COPY test-account-activation.html /config/mail/account-activation.html
8+
COPY test-password-reset.html /config/mail/password-reset.html
9+
COPY test-welcome-to-faf.html /config/mail/welcome-to-faf.html
710
ENV FAF_DOMAIN=faforever.com
811
RUN java -Djarmode=tools -jar application.jar extract
9-
RUN java -Dspring.context.exit=onRefresh -XX:ArchiveClassesAtExit=application.jsa -jar application/application.jar
12+
RUN java -Dspring.context.exit=onRefresh -Dspring.profiles.active=training -XX:ArchiveClassesAtExit=application.jsa -jar application/application.jar
1013

1114
FROM eclipse-temurin:21-jdk-alpine
1215
VOLUME /tmp
@@ -15,6 +18,6 @@ COPY --from=builder /application/application/lib ./
1518
RUN true
1619
COPY --from=builder /application/application/application.jar ./
1720
RUN true
18-
COPY --from=builder /application/application/application.jsa ./
21+
COPY --from=builder /application/application.jsa ./
1922
RUN true
2023
ENTRYPOINT ["java", "-XX:SharedArchiveFile=application.jsa", "-Djava.security.egd=file:/dev/./urandom", "-jar", "application.jar"]

src/main/java/com/faforever/api/config/ApplicationProfile.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ public final class ApplicationProfile {
55
public static final String PRODUCTION = "prod";
66
public static final String DEVELOPMENT = "dev";
77
public static final String INTEGRATION_TEST = "int";
8+
public static final String TRAINING = "training";
89

910
private ApplicationProfile() {
1011
// Utility class

src/main/java/com/faforever/api/config/CacheConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import com.faforever.api.data.domain.MapVersion;
1717
import com.faforever.api.data.domain.Mod;
1818
import com.faforever.api.data.domain.ModVersion;
19+
import jakarta.servlet.http.HttpServletRequest;
1920
import org.springframework.cache.CacheManager;
2021
import org.springframework.cache.annotation.EnableCaching;
2122
import org.springframework.cache.caffeine.CaffeineCache;
@@ -28,7 +29,6 @@
2829
import org.springframework.context.annotation.Profile;
2930
import org.springframework.web.servlet.HandlerMapping;
3031

31-
import jakarta.servlet.http.HttpServletRequest;
3232
import java.util.Collection;
3333
import java.util.List;
3434
import java.util.concurrent.TimeUnit;
@@ -40,7 +40,7 @@
4040

4141
@EnableCaching(proxyTargetClass = true)
4242
@Configuration
43-
@Profile(ApplicationProfile.PRODUCTION)
43+
@Profile({ApplicationProfile.PRODUCTION, ApplicationProfile.TRAINING})
4444
public class CacheConfig {
4545

4646
/**

src/main/java/com/faforever/api/db/SchemaVersionVerifier.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import java.util.Objects;
1212

1313
@Component
14-
@Profile("!" + ApplicationProfile.INTEGRATION_TEST)
14+
@Profile(ApplicationProfile.PRODUCTION)
1515
public class SchemaVersionVerifier implements PriorityOrdered, InitializingBean {
1616

1717
private final SchemaVersionRepository schemaVersionRepository;

src/main/java/com/faforever/api/i18n/RepositoryMessageSource.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
package com.faforever.api.i18n;
22

3+
import com.faforever.api.config.ApplicationProfile;
34
import lombok.RequiredArgsConstructor;
45
import org.springframework.beans.factory.InitializingBean;
56
import org.springframework.context.support.AbstractResourceBasedMessageSource;
7+
import org.springframework.core.env.Environment;
68
import org.springframework.stereotype.Component;
79

810
import java.text.MessageFormat;
911
import java.util.HashMap;
1012
import java.util.Locale;
1113
import java.util.Map;
1214
import java.util.Objects;
15+
import java.util.Set;
1316

1417
@Component
1518
@RequiredArgsConstructor
@@ -18,6 +21,7 @@ public class RepositoryMessageSource extends AbstractResourceBasedMessageSource
1821
private static final Locale FALLBACK_LOCALE = Locale.US;
1922

2023
private final MessageRepository messageRepository;
24+
private final Environment environment;
2125

2226
/**
2327
* Language -> Region -> Key -> Value.
@@ -76,6 +80,6 @@ private String getText(String key, Locale locale) {
7680

7781
@Override
7882
public void afterPropertiesSet() {
79-
messagesByLanguage = loadMessages();
83+
messagesByLanguage = Set.of(environment.getActiveProfiles()).contains(ApplicationProfile.TRAINING) ? Map.of() : loadMessages();
8084
}
8185
}

src/main/resources/config/application.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ spring:
123123
properties:
124124
hibernate:
125125
current_session_context_class: org.springframework.orm.hibernate5.SpringSessionContext
126+
dialect: org.hibernate.dialect.MariaDBDialect
126127
jackson:
127128
serialization:
128129
WRITE_DATES_AS_TIMESTAMPS: false

0 commit comments

Comments
 (0)