Hi All,
I’m using Lucee 7 /tomcat 10 on Rocky Linux 9
I’m attempting to setup Redis for sessions. I have a dedicated redis server running on another Rocky Linux 9 vm.
I can’t get past installing the Redis Extension for Jakarta - Notes say to use 4.0 for my configuration
https://download.lucee.org/#60772C12-F179-D555-8E2CD2B4F7428718
Here’s my install process
sudo systemctl stop tomcat
cd /tmp
curl -LO https://ext.lucee.org/redis-extension-4.0.0.0.lex
sudo cp redis-extension-4.0.0.0.lex /tomcat/webapps/myapp/WEB-INF/lucee-server/deploy/
sudo systemctl restart tomcat
But any attempt to use this plugin fails, with debugging info suggesting the extension is not installed
and if I poke around, I can’t find any evidence of it. It disappears from the /deploy folder but then nothing
[deploy]$ ls /tomcat/webapps/detailsat/WEB-INF/lucee-server/context/lib/ | grep -i redis
[deploy]$
Any attempt to use it in code results with something like
Message cannot load class through its string name, because no definition for the class with the specified name [org.lucee.redis.RedisCache] could be found; failed to load class with multiple classloaders, every cause in the stacktrace represents a classloader
Here’s how I’m declaring my redis cache definitions in Application.cfc
this.cache.connections = { redis_main = { class: "org.lucee.redis.RedisCache", storage: true, custom: { host: server.system.environment.REDIS_MAIN_HOST & "." & server.system.environment.APP_DOMAIN, port: 6380, // TLS port password: server.system.environment.REDIS_PASS, ssl: true, timeout: 2000, database: 0, minIdle: 5, maxIdle: 20, maxTotal: 50 }, default: "object" }, redis_sessions = { class: "org.lucee.redis.RedisCache", storage: true, custom: { host: server.system.environment.REDIS_MAIN_HOST & "." & server.system.environment.APP_DOMAIN, port: 6380, // TLS port password: server.system.environment.REDIS_PASS, ssl: true, database: 1 }, default: "session" } }; this.cache.object = "redis_main"; // We intentionally do NOT use native CF sessions for auth state; we use Redis. this.sessionManagement = true; this.sessionStorage = "redis_sessions"; this.sessionTimeout = createTimeSpan(0, 7, 0, 0); // 7 days
Thoughts? I’m declaring in Application.cfc because many of the parameters are based on environment vars and that isn’t going to work with .CFConfig.json because of how in interprets vars at runtime.

