LSCS uses the Apache BasicDataSource which looks like it should support pooling, but it does not seem to work.
If maxIdle is set too low on heavily loaded systems it is possible you will see connections being closed and almost immediately new connections being opened. This is a result of the active threads momentarily closing connections faster than they are opening them, causing the number of idle connections to rise above maxIdle. The best value for maxIdle for heavily loaded system will vary but the default is a good starting point.
What makes you think that? Can't say I've looked into it much, but the BasicDataSource does have connection pooling. Since IWOV didn't specify configuration values, it must be using the defaults (initialSize = 0, minIdle = 0, maxIdle = 8). The guide does say this:So you can try tweaking those params in the persistence-context.xml before switching out the implementation altogether.