Не загрязняет ли настройка Spring.jpa.hibernate.ddl-auto для создания-отбрасывания в тестовом контейнере Singleton мой кJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Не загрязняет ли настройка Spring.jpa.hibernate.ddl-auto для создания-отбрасывания в тестовом контейнере Singleton мой к

Сообщение Anonymous »

У меня есть следующий одноэлементный контейнер, как описано в разделе «Жизненный цикл тестовых контейнеров»

Код: Выделить всё

public abstract class AbstractPostgresIT {
static PostgreSQLContainer POSTGRES_CONTAINER =
new PostgreSQLContainer(DockerImageName.parse("postgres:16")).withDatabaseName("ems")
.withUsername("username").withPassword("password");

static {
POSTGRES_CONTAINER.start();
}

@DynamicPropertySource
public static void dynamicPropertySource(DynamicPropertyRegistry registry) {
registry.add("spring.datasource.url", POSTGRES_CONTAINER::getJdbcUrl);
registry.add("spring.datasource.username", POSTGRES_CONTAINER::getUsername);
registry.add("spring.datasource.password", POSTGRES_CONTAINER::getPassword);
registry.add("spring.jpa.hibernate.ddl-auto", () -> "create-drop");
}
}
У меня есть два класса, расширяющих AbstractPostgresIT (один @DataJpaTest и один @SpringBootTest). Иногда (до сих пор это случайная ситуация, и я не понял шаблона струи) при запуске mvn Clean Verify я получаю сообщение об ошибке

Код: Выделить всё

HikariPool-2 - Failed to validate connection org.postgresql.jdbc.PgConnection@4ec6f11d (This connection has been closed.). Possibly consider using a shorter maxLifetime value.
Мне интересно и я пытаюсь понять, не загрязняет ли этот подход мой контекст, путая HikariPool с одноэлементным контейнером. Тогда я мог бы с чистой совестью добавить @DirtiesContext в AbstractPostgresIT. Но я не опытный пользователь Spring, поэтому хотелось бы подробно разобраться в том, что здесь происходит, тем более, что это происходит случайным образом. Влияет ли установка Spring.jpa.hibernate.ddl-auto на create-drop на мой ApplicationContext? Если да, то почему? Если нет, есть ли другие проблемы, о которых я мог не знать?
РЕДАКТИРОВАТЬ: я могу подтвердить, что второй ИТ-процесс выходит из строя, если есть «только» HikariPool-2, но работает, если есть HikariPool-3. Итак, обновленный вопрос: могу ли я принудительно создать новый HikariPool с помощью @DirtiesContext и является ли это хорошей практикой?

Подробнее здесь: https://stackoverflow.com/questions/788 ... gleton-tes
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Не загрязняет ли настройка Spring.jpa.hibernate.ddl-auto для создания-отбрасывания мой ApplicationContext?
    Anonymous » » в форуме JAVA
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Не загрязняет ли установка Spring.jpa.hibernate.ddl-auto=create-drop мой контекст?
    Anonymous » » в форуме JAVA
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Кажется, JPA Spring.jpa.hibernate.ddl-auto=update не работает
    Anonymous » » в форуме JAVA
    0 Ответы
    32 Просмотры
    Последнее сообщение Anonymous
  • Как свойство Spring.jpa.hibernate.ddl-auto работает в Spring?
    Anonymous » » в форуме JAVA
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Один-ко-многим: JPA генерирует неправильный FK при использовании ddl-auto=create-drop
    Anonymous » » в форуме JAVA
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»