diff --git a/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/JdbcChatMemoryRepository.java b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/JdbcChatMemoryRepository.java index d9366aa65..14d8c2d13 100644 --- a/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/JdbcChatMemoryRepository.java +++ b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/JdbcChatMemoryRepository.java @@ -77,14 +77,7 @@ public final class JdbcChatMemoryRepository implements ChatMemoryRepository { @Override public List findConversationIds() { - List conversationIds = this.jdbcTemplate.query(this.dialect.getSelectConversationIdsSql(), rs -> { - var ids = new ArrayList(); - while (rs.next()) { - ids.add(rs.getString(1)); - } - return ids; - }); - return conversationIds != null ? conversationIds : List.of(); + return this.jdbcTemplate.queryForList(dialect.getSelectConversationIdsSql(), String.class); } @Override diff --git a/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/chat/memory/repository/jdbc/AbstractJdbcChatMemoryRepositoryIT.java b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/chat/memory/repository/jdbc/AbstractJdbcChatMemoryRepositoryIT.java index 407de5fe2..000e828fc 100644 --- a/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/chat/memory/repository/jdbc/AbstractJdbcChatMemoryRepositoryIT.java +++ b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/chat/memory/repository/jdbc/AbstractJdbcChatMemoryRepositoryIT.java @@ -73,6 +73,8 @@ public abstract class AbstractJdbcChatMemoryRepositoryIT { this.chatMemoryRepository.saveAll(conversationId, List.of(message)); + assertThat(chatMemoryRepository.findConversationIds()).contains(conversationId); + // Use dialect to get the appropriate SQL query JdbcChatMemoryRepositoryDialect dialect = JdbcChatMemoryRepositoryDialect .from(this.jdbcTemplate.getDataSource()); @@ -96,6 +98,8 @@ public abstract class AbstractJdbcChatMemoryRepositoryIT { this.chatMemoryRepository.saveAll(conversationId, messages); + assertThat(chatMemoryRepository.findConversationIds()).contains(conversationId); + // Use dialect to get the appropriate SQL query JdbcChatMemoryRepositoryDialect dialect = JdbcChatMemoryRepositoryDialect .from(this.jdbcTemplate.getDataSource()); diff --git a/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/chat/memory/repository/jdbc/JdbcChatMemoryRepositoryMysqlIT.java b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/chat/memory/repository/jdbc/JdbcChatMemoryRepositoryMysqlIT.java index 22b3b45c3..62707e160 100644 --- a/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/chat/memory/repository/jdbc/JdbcChatMemoryRepositoryMysqlIT.java +++ b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/chat/memory/repository/jdbc/JdbcChatMemoryRepositoryMysqlIT.java @@ -29,7 +29,8 @@ import org.springframework.test.context.jdbc.Sql; * @author Mark Pollack */ @SpringBootTest(classes = JdbcChatMemoryRepositoryMysqlIT.TestConfiguration.class) -@TestPropertySource(properties = { "spring.datasource.url=jdbc:tc:mariadb:10.3.39:///" }) +@TestPropertySource(properties = { "spring.datasource.url=jdbc:tc:mariadb:10.3.39:///", + "spring.datasource.hikari.maximum-pool-size=20", "spring.datasource.hikari.minimum-idle=5" }) @Sql(scripts = "classpath:org/springframework/ai/chat/memory/repository/jdbc/schema-mariadb.sql") class JdbcChatMemoryRepositoryMysqlIT extends AbstractJdbcChatMemoryRepositoryIT { diff --git a/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/chat/memory/repository/jdbc/JdbcChatMemoryRepositoryPostgresqlIT.java b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/chat/memory/repository/jdbc/JdbcChatMemoryRepositoryPostgresqlIT.java index 49b1356a6..ae22c45fb 100644 --- a/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/chat/memory/repository/jdbc/JdbcChatMemoryRepositoryPostgresqlIT.java +++ b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/chat/memory/repository/jdbc/JdbcChatMemoryRepositoryPostgresqlIT.java @@ -46,7 +46,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Mark Pollack */ @SpringBootTest(classes = JdbcChatMemoryRepositoryPostgresqlIT.TestConfiguration.class) -@TestPropertySource(properties = "spring.datasource.url=jdbc:tc:postgresql:17:///") +@TestPropertySource(properties = { "spring.datasource.url=jdbc:tc:postgresql:17:///", + "spring.datasource.hikari.maximum-pool-size=20", "spring.datasource.hikari.minimum-idle=5" }) @Sql(scripts = "classpath:org/springframework/ai/chat/memory/repository/jdbc/schema-postgresql.sql") class JdbcChatMemoryRepositoryPostgresqlIT extends AbstractJdbcChatMemoryRepositoryIT {