I looked at the built-in Cayenne connection pooling years ago and it was OK, but I felt a third-party one would be more reliable and handle error conditions better. I've always used Apache Commons DBCP with Jetty/Tomcat and it seems to work fine, but I haven't explored other external providers.
On Mon, Mar 7, 2016 at 3:39 PM, John Huss <johnth...@gmail.com> wrote: > EOF can do JNDI, but that's not going to do anything to fix your problem. > > The connection pool in cayenne had some changes somewhat recently so it's > entirely possible there are bugs. > > In practice it turns out many people don't use the connection pool built-in > to Cayenne at all, and rather use a third-party connection pool, of which > there are several. The cayenne one is decent, but it is very limited in > functionality and less robust due to having a smaller user base and being a > non-core feature. > > You can use another pool like: > hikari <https://github.com/brettwooldridge/HikariCP> - If I was starting a > new project I'd use this > tomcat-jdbc <https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html> - > This is what I currently use > commonds-dbcp <https://commons.apache.org/proper/commons-dbcp/> > c3po <http://www.mchange.com/projects/c3p0/> > > The main reason I turned to a third-party connection pool was to get > fair-scheduling which will provide connections to whoever has been waiting > the longest, which helps avoid unnecessary errors caused by serving > requests out of order. > > John > > On Mon, Mar 7, 2016 at 2:31 PM Michael Gentry <mgen...@masslight.net> > wrote: > > > Well, I'm not sure what you are using to run your web application, but > > Tomcat, Jetty, JBoss, etc all have mechanisms to provide JNDI lookups of > DB > > connection pools. You just tell Cayenne Modeler to use JNDI lookup and > > give it the JNDI name, then configure the container to provide the DB > > connection. > > > > Is your WO application using EOF or Cayenne? Been a while since I used > WO, > > but I'd be stunned if EOF cannot use a JNDI lookup as well. > > > > mrg > > > > > > On Mon, Mar 7, 2016 at 3:07 PM, Hugi Thordarson <h...@karlmenn.is> > wrote: > > > > > Hi Michael, > > > does using JNDI change anything about the connection itself, isn’t it > > just > > > a different method of looking up connection information? > > > > > > But I probably can’t use it anyway since one of the apps is a > WebObjects > > > app and doesn’t provide a JNDI service (at least I’ve never used it). > > > > > > Thanks, > > > - hugi > > > > > > > > > > On 7. mar. 2016, at 19:13, Michael Gentry <mgen...@masslight.net> > > wrote: > > > > > > > > Hi Hugi, > > > > > > > > Since this appears to be a web-based application, can you switch to > > using > > > > JNDI? > > > > > > > > mrg > > > > > > > > > > > > On Mon, Mar 7, 2016 at 5:46 AM, Hugi Thordarson <h...@karlmenn.is> > > > wrote: > > > > > > > >> Hi all, > > > >> This is still happening, even after I added a validationQuery, our > app > > > is > > > >> dying quite frequently :(. I’m not quite sure how to debug this, is > > > there > > > >> any way for me to catch where connections are being opened in the > code > > > and > > > >> at what location they’re hanging? > > > >> > > > >> > > > >> > > > > > > https://www.dropbox.com/s/8jkmh6513s6wwkn/Screenshot%202016-03-07%2010.21.53.png?dl=0 > > > >> > > > >> Cheer, > > > >> - hugi > > > >> > > > >> // Hugi Thordarson > > > >> // http://www.loftfar.is/ > > > >> // s. 895-6688 > > > >> > > > >> > > > >> > > > >>> On 29. feb. 2016, at 11:25, Andrus Adamchik < > and...@objectstyle.org> > > > >> wrote: > > > >>> > > > >>> > > > >>>> On Feb 29, 2016, at 2:20 PM, Hugi Thordarson <h...@karlmenn.is> > > > wrote: > > > >>>> > > > >>>> What does validationQuery do? > > > >>> > > > >>> Periodically executes for each pooled connection, and kills > > connections > > > >> that throw during validation. So it ensures that all pooled > > connections > > > are > > > >> in a good state. > > > >>> > > > >>> Andrus > > > >>> > > > >> > > > >> > > > > > > > > >