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 <[email protected]>
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 <[email protected]>
> wrote:
>
> > Just embed Jetty in your application...
> >
> >
> > On Mon, Mar 7, 2016 at 5:18 PM, Lon Varscsak <[email protected]>
> > 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 <[email protected]>
> 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 <[email protected]>
> >> > 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 <[email protected]>
> >> > 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 <
> [email protected]
> >> >
> >> > >>> 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 <[email protected]>
> >> > 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 <[email protected]>
> >> 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 <
> >> > [email protected]>
> >> > >>> 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 <
> >> [email protected]>
> >> > >>> 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 <
> >> [email protected]
> >> > >
> >> > >>>>>>> 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 <
> >> > [email protected]>
> >> > >>>>>>>> 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 <
> >> > >>> [email protected]>
> >> > >>>>>>>>>> wrote:
> >> > >>>>>>>>>>>
> >> > >>>>>>>>>>>
> >> > >>>>>>>>>>>> On Feb 29, 2016, at 2:20 PM, Hugi Thordarson <
> >> > [email protected]>
> >> > >>>>>>>> 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
> >> > >>>>>>>>>>>
> >> > >>>>>>>>>>
> >> > >>>>>>>>>>
> >> > >>>>>>>>
> >> > >>>>>>>>
> >> > >>>>>>>
> >> > >>>>>
> >> > >>>>
> >> > >>>
> >> > >>>
> >> > >
> >> >
> >> >
> >>
> >
> >
>

Reply via email to