Skip to content

Commit a610007

Browse files
committed
fix: Adjust the transaction implementation method in JdbcChatMemoryRepository.
Signed-off-by: Sun Yuhan <[email protected]>
1 parent 8cce172 commit a610007

File tree

1 file changed

+4
-10
lines changed
  • memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc

1 file changed

+4
-10
lines changed

memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/JdbcChatMemoryRepository.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ private JdbcChatMemoryRepository(JdbcTemplate jdbcTemplate, JdbcChatMemoryReposi
6060
Assert.notNull(jdbcTemplate.getDataSource(), "dataSource can not be null");
6161
this.jdbcTemplate = jdbcTemplate;
6262
this.dialect = dialect;
63-
transactionTemplate = new TransactionTemplate(new DataSourceTransactionManager(jdbcTemplate.getDataSource()));
63+
this.transactionTemplate = new TransactionTemplate(new DataSourceTransactionManager(jdbcTemplate.getDataSource()));
6464
}
6565

6666
@Override
@@ -88,15 +88,9 @@ public void saveAll(String conversationId, List<Message> messages) {
8888
Assert.noNullElements(messages, "messages cannot contain null elements");
8989

9090
transactionTemplate.execute(status -> {
91-
try {
92-
deleteByConversationId(conversationId);
93-
jdbcTemplate.batchUpdate(dialect.getInsertMessageSql(),
94-
new AddBatchPreparedStatement(conversationId, messages));
95-
}
96-
catch (RuntimeException e) {
97-
status.setRollbackOnly();
98-
throw e;
99-
}
91+
deleteByConversationId(conversationId);
92+
jdbcTemplate.batchUpdate(dialect.getInsertMessageSql(),
93+
new AddBatchPreparedStatement(conversationId, messages));
10094
return null;
10195
});
10296
}

0 commit comments

Comments
 (0)