diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/migrations/db/ce/Migration063CacheBustSpringBoot3_3.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/migrations/db/ce/Migration063CacheBustSpringBoot3_3.java index 61936af057f5..7ca5077babad 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/migrations/db/ce/Migration063CacheBustSpringBoot3_3.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/migrations/db/ce/Migration063CacheBustSpringBoot3_3.java @@ -3,36 +3,25 @@ import io.mongock.api.annotations.ChangeUnit; import io.mongock.api.annotations.Execution; import io.mongock.api.annotations.RollbackExecution; -import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.data.redis.core.ReactiveRedisOperations; -import org.springframework.data.redis.core.script.RedisScript; -import reactor.core.publisher.Flux; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.data.redis.core.ReactiveRedisTemplate; -@RequiredArgsConstructor @Slf4j @ChangeUnit(order = "063", id = "reset_session_oauth2_spring_3_3") public class Migration063CacheBustSpringBoot3_3 { - private final ReactiveRedisOperations reactiveRedisOperations; - @RollbackExecution public void rollbackExecution() {} @Execution - public void execute() { - doClearRedisOAuth2AuthClientKeys(reactiveRedisOperations); - } - - public static void doClearRedisOAuth2AuthClientKeys( - ReactiveRedisOperations reactiveRedisOperations) { - final String authorizedClientsKey = - "sessionAttr:org.springframework.security.oauth2.client.web.server.WebSessionServerOAuth2AuthorizedClientRepository.AUTHORIZED_CLIENTS"; - final String script = - "for _,k in ipairs(redis.call('keys','spring:session:sessions:*')) do local fieldExists = redis.call('hexists', k, '" - + authorizedClientsKey + "'); if fieldExists == 1 then redis.call('del', k) end end"; - final Flux flushdb = reactiveRedisOperations.execute(RedisScript.of(script)); - - flushdb.blockLast(); + public void execute( + @Qualifier("reactiveRedisTemplate") final ReactiveRedisTemplate reactiveRedisTemplate) { + reactiveRedisTemplate + .getConnectionFactory() + .getReactiveConnection() + .serverCommands() + .flushDb() + .block(); } }