Lucee 6 & 7 Redis Issue (Bug?)

So I am having this really weird issue that I cannot figure out. I assume it is a bug, but figured I would post here first.

I have a custom redis caching that I built for my servers. It is built on Jedis. This code works perfectly on my production and development environments all running 5.4.6.9. I put the redis and related jar files in the lib/ext folder. When I updated my server to 6.2.1.122 I start getting an error saying the (org.apache.commons.pool2.impl.GenericObjectPoolConfig, java.net.URI) is not found.

I thought maybe this was something about my environment so I launched a docker 7.0.0.229-SNAPSHOT put the files in the lib/ext and still the same result.

Then I updated my code to put the jar files in a sub folder and not in the lib/ext and when doing createObject() I pass “jars/” as my final argument. When I do this everything works as expected.

So my question is WHY? Why is it different if I put the files in lib/ext vs in a subfolder of the cfm file? Why would version 6 and 7 make my jedis jar think that method doesn’t exist when it clearly does (you can dump the object to see it)

I have attached a .cfm and the jars and the test code accordingly. This issue is preventing me from upgrading to V6 or V7.

redis issue.zip (3.1 MB)

It’s probably a class conflict, Lucee 6 switch to pool2

So, with Lucee 6.2 or 7.0, rather than messing around with jar files, try the new enhanced support for java and maven and just let Lucee manage it automatically.

It’s much quicker, cleaner and will avoid any such problems!