FAQ
Amazon elastic beanstalk! On Mon, Mar 7, 2016 at 4:32 PM Lon Varscsak wrote:

Well, I actually have embedded Jetty in my application. But I’m not sure
how to manage creating instances/stoping/starting, etc. In WebObjects we
had a tool called Monitor which would allow you to do it all on the fly.
:D

-Lon
On Mon, Mar 7, 2016 at 3:30 PM, Michael Gentry wrote:

http://www.eclipse.org/jetty/documentation/current/embedding-jetty.html

(sent too soon)


On Mon, Mar 7, 2016 at 5:30 PM, Michael Gentry <mgentry@masslight.net>
wrote:
Just embed Jetty in your application...


On Mon, Mar 7, 2016 at 5:18 PM, Lon Varscsak <lon.varscsak@gmail.com>
wrote:
OT: I’m planning to build jar not war…now I’m not sure how to deploy.
:P
-Lon

On Mon, Mar 7, 2016 at 2:27 PM, Hugi Thordarson <hugi@karlmenn.is>
wrote:
It looks to me like this makes it much harder to deploy your
application in
development/test/etc type environments since your URL/etc are in
the
code.

Yeah, I see what you mean. We use a homebuilt property system for
that
which returns configuration based on environment. It’s not JNDI but
works :)
Unless you use Bootique, or your own property-based config
mechanism.
Is bootique worth checking out? I’m just noticing it now for the
first
time and so happens I’m looking into a new basis for our web
services/APIs
(current favorite being spark framework).
"Make jar, not war" :)
Ha ha ha :)

- hugi

On Mar 7, 2016, at 1:13 PM, Michael Gentry <
mgentry@masslight.net>
wrote:
Hi Hugi,

It looks to me like this makes it much harder to deploy your
application in
development/test/etc type environments since your URL/etc are in
the
code.
The advantage of JNDI is you only reference a logical name that
is
configured external to the WAR, making it much easier to have one
build
that can be deployed in different environments. I took a brief
glance
at
Hikari and don't think it includes JNDI natively.

mrg


On Mon, Mar 7, 2016 at 4:03 PM, Hugi Thordarson <
hugi@karlmenn.is>
wrote:
Well, that was easy! Up and running in production.

HikariConfig config = new HikariConfig();
config.setJdbcUrl(
"jdbc:mysql://server:3306/database?useUnicode=true&characterEncoding=utf8&autoReconnect=true&connectTimeout=0"
);
config.setUsername( “myUsername" );
config.setPassword( “myPassword" );

HikariDataSource dataSource = new HikariDataSource( config );
serverRuntimeBuilder = serverRuntimeBuilder.dataSource(
dataSource
);
Thanks,
- hugi

On 7. mar. 2016, at 20:51, Andrus Adamchik <
andrus@objectstyle.org
wrote:
Yep. Cayenne built-in pool is intentionally basic with a
minimal
number
of features (Here we may be dealing with a bug though, and I'd
like
to
fix
it, but that's a separate issue). So yeah, using a third party
DS
may
be a
good idea. Here is an example how you can set it up:
DataSource ds = // instantiate it via API specific to you DS
provider
ServerRuntime runtime =
ServerRuntimeBuilder.builder().dataSource(ds).build();
// of course add any other things you need to add to the
builder
to
get
a working Cayenne stack.
Andrus

On Mar 7, 2016, at 12: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

Search Discussions

Discussion Posts

Previous

Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 33 of 43 | next ›
Discussion Overview
groupuser @
categoriescayenne
postedFeb 29, '16 at 10:54a
activeMar 9, '16 at 8:51p
posts43
users6
websitecayenne.apache.org

People

Translate

site design / logo © 2021 Grokbase