Simple bash scripts. Much easier then container deployment. scp my.jar my.server:/tmp ssh my.server java -jar /tmp/my.jar & ssh my.server pkill my.jar
Andrus > On Mar 7, 2016, at 2:41 PM, Lon Varscsak <[email protected]> wrote: > > 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 >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>> >>>>> >>>> >>> >>
