cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hugi Thordarson <h...@karlmenn.is>
Subject Re: Reconnecting automatically after DB downtime
Date Mon, 07 Mar 2016 21:06:12 GMT
Thanks Michael, I chose to do this programmatically since I don’t think WO provides JNDI
lookup (and my WO applications don’t run inside a container).
EOF does allow you to use JNDI, but I haven’t seen that used unless you’re running the
WO application inside a container.

Cheers,
- hugi


> On 7. mar. 2016, at 20:54, Michael Gentry <mgentry@masslight.net> wrote:
> 
> 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
View raw message