You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a "no duh" type issue but I'm leaving it here for future searches:
When attempting to connect to Redis using Spring Boot 3.1.5 + SBR 3.1.5 + jedis 5.x, the connection fails with a NoClassDefFound error looking for "redis/clients/jedis/Queable"
Solution: downgrade jedis to 4.3.2
My own searching guided me towards a version conflict, but most references to this error talk about a much older version of SBR and Jedis. I figured out what version of jedis to use by browsing the source to the 3.1.5 tag and looking at the pom.xml.
Again -- nothing here that is super surprising, but hopefully I save some people some time. Backporting the jedis 5.x work to the 3.1.x release would be neat though.
The text was updated successfully, but these errors were encountered:
copy/pasting their stacktrace here for searchability:
java.lang.NoClassDefFoundError: redis/clients/jedis/Queable
at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.getConnection(JedisConnectionFactory.java:463)
at org.springframework.data.redis.core.RedisConnectionUtils.fetchConnection(RedisConnectionUtils.java:193)
at org.springframework.data.redis.core.RedisConnectionUtils.doGetConnection(RedisConnectionUtils.java:144)
at org.springframework.data.redis.core.RedisConnectionUtils.getConnection(RedisConnectionUtils.java:105)
at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:393)
at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:373)
at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97)
at org.springframework.data.redis.core.DefaultValueOperations.set(DefaultValueOperations.java:237)
Thanks for reaching out. The Jedis 5 upgrade required some effort on our side (see #2612), additionally, Jedis moved a few classes around. They also removed the Queable class by merging it into TransactionBase and Pipeline. These binary incompatibilities cause the upgrade problem in the first place. To make it work, the older branch would have to compile against a new major version (see also our dependency upgrade policy).
As we do not intend to backport the changes, I'm closing the ticket.
This is a "no duh" type issue but I'm leaving it here for future searches:
When attempting to connect to Redis using Spring Boot 3.1.5 + SBR 3.1.5 + jedis 5.x, the connection fails with a NoClassDefFound error looking for "redis/clients/jedis/Queable"
Solution: downgrade jedis to 4.3.2
My own searching guided me towards a version conflict, but most references to this error talk about a much older version of SBR and Jedis. I figured out what version of jedis to use by browsing the source to the 3.1.5 tag and looking at the
pom.xml
.Again -- nothing here that is super surprising, but hopefully I save some people some time. Backporting the jedis 5.x work to the 3.1.x release would be neat though.
The text was updated successfully, but these errors were encountered: