December 29, 2012
As a requirement for Continuous Delivery,
changes to applications should be deployed as frequently as possible. GitHub is
a well-known example: on
their “busiest day,” GitHub “saw 563 builds and 175 deploys.” To do this with
a Java web application, zero-downtime deployment needs to be done to avoid
To achieve zero-downtime deployment, there are several solutions. Both
commercial tools, such as
LiveRebel, and container
features, such as Tomcat 7’s
parallel deployment, can make this happen. This post focuses on the
approach that uses Apache’s auto failover feature to achieve zero-downtime
deployment by performing round-robin updates on multiple Tomcat instances.
December 22, 2012
The past couple of days I have bene working on migrating my
Drupal-powered blog to a
Middleman-generated static website, as well as giving
my blog a facelift, a responsive layout and other goodies. So, what is wrong
August 24, 2012
This morning I did a
yum update on my RHEL 6 box, and noticed the company’s
internal websites were showing up 500 error. It turned out that LDAPS
authentication was failing for those websites. Since last update was only merely
a month ago, and no configuration files were touched, it took me the entire
morning to figure out what went wrong.
May 14, 2012
PrimeFaces is well known for its wide array of useful
AJAX components for JSF.
<p:dataTable>, in particular, is an extremely useful
component. One problem with
<p:dataTable>, however, is that it can mostly only
be manipulated with AJAX. Its state, including current page, column sorted and
filter criteria, is reverted to the default after page refreshes. In addition,
there is currently no documented way to programmatically set the state, aside
from first row and sort order, for the data table.
January 6, 2012
Today I’m hit with the issue that Spring whines about the exception, “No Scope
registered for scope ‘request’,” when I try to run tests with request scoped
bean. Fortunately the fix is fairly easy.
Update Dec. 22, 2012:
has made it possible to use
WebApplicationContext as well as web-based scopes
available in unit tests. The fix documented here is no longer necessary if you
are on Spring 3.2.
July 16, 2011
Recently I have been trying to build the ability to send e-mails in a JSF project. Since Facelets is a great templating technology, I want to render the e-mails with Facelets. To my surprise, this isn't an easy thing to do.