cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Gentry <mgen...@masslight.net>
Subject Re: Reconnecting automatically after DB downtime
Date Mon, 07 Mar 2016 20:54:46 GMT
Cayenne is pretty easy.  In Cayenne Modeler, under the DataNode
configuration, select the JNDI DataSource Factory option and give it a name
like "jdbc/myDataSource".

Configuring Tomcat/Jetty/etc is a bit harder, but plenty of examples out
there.  Which container are you using?


On Mon, Mar 7, 2016 at 3:45 PM, Hugi Thordarson <hugi@karlmenn.is> wrote:

> Thanks John! I’m going to try my hand at HikariCP.
>
> Are there any examples anywhere on how to configure Cayenne to use a third
> party connection pool?
>
> Cheers,
> - hugi
>
>
>
>
> > On 7. mar. 2016, at 20:39, John Huss <johnthuss@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 <mgentry@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 <hugi@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 <mgentry@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 <hugi@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 <andrus@objectstyle.org
> >
> >>>>> wrote:
> >>>>>>
> >>>>>>
> >>>>>>> On Feb 29, 2016, at 2:20 PM, Hugi Thordarson <hugi@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
> >>>>>>
> >>>>>
> >>>>>
> >>>
> >>>
> >>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message