Skip to content

Commit 732a105

Browse files
authored
Merge pull request #13 from gleonSun/kylin-2.6.1-4.x
KE-43831 Integrated Spring session cleanup in Kylin to prevent MySQL deadlock alerts
2 parents 8907fc0 + aa02c57 commit 732a105

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
22
org.gradle.parallel=true
3-
version=2.6.1-kylin-r4
3+
version=2.6.1-kylin-r5
44

55
group_id=org.springframework.session
66
artifact_id=spring-session-core

spring-session-jdbc/src/main/java/org/springframework/session/jdbc/config/annotation/web/http/JdbcHttpSessionConfiguration.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
import org.springframework.jdbc.support.lob.DefaultLobHandler;
4343
import org.springframework.jdbc.support.lob.LobHandler;
4444
import org.springframework.scheduling.annotation.EnableScheduling;
45+
import org.springframework.scheduling.annotation.Scheduled;
4546
import org.springframework.scheduling.annotation.SchedulingConfigurer;
4647
import org.springframework.scheduling.config.ScheduledTaskRegistrar;
4748
import org.springframework.session.FlushMode;
@@ -296,6 +297,14 @@ public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
296297
JdbcHttpSessionConfiguration.this.cleanupCron);
297298
}
298299

300+
@Scheduled(cron = "${spring.session.jdbc.cleanup-cron-task:0 * * * * *}")
301+
protected void cleanupSpringSession() {
302+
String cleanFlag = System.getProperty("spring.session.jdbc.cleanup-flag");
303+
if (Boolean.parseBoolean(cleanFlag)) {
304+
this.sessionRepository.cleanUpExpiredSessions();
305+
}
306+
}
307+
299308
}
300309

301310
}

0 commit comments

Comments
 (0)