lol, the name makes it seem like a joke. :P Unfortunately (not really) we deploy internally.
On Mon, Mar 7, 2016 at 3:38 PM, John Huss <[email protected]> wrote: > Amazon elastic beanstalk! > On Mon, Mar 7, 2016 at 4:32 PM Lon Varscsak <[email protected]> > 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 <[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 > > > >> > >>>>>>>>>>> > > > >> > >>>>>>>>>> > > > >> > >>>>>>>>>> > > > >> > >>>>>>>> > > > >> > >>>>>>>> > > > >> > >>>>>>> > > > >> > >>>>> > > > >> > >>>> > > > >> > >>> > > > >> > >>> > > > >> > > > > > >> > > > > >> > > > > >> > > > > > > > > > > > > > >
