A blog about software development, primarily in Java and about web applications.

Thursday, August 23, 2012

Unix Command - watch

I'm sitting here waiting for a huge rsync to complete over a slow network from slow disks to what I hope are faster disks.  To monitor the progress, I'm using the Unix watch command to periodically run a du on the directory being written to.  This gives me an idea of its growth and how far along I am:

watch --interval=1 du -sm /hudson

The -sm options to du just tell it to summarize the size in MB.

Monday, April 9, 2012

Externally Configuring Application Properties with Spring

I posted on another method for doing this a while back and this alternate approach was sent me some time ago so I thought I would share it here.  The issue trying to be addressed is the ability to deliver a single WAR file to multiple environments that each may need different configurations.  For example, a QA environment, an automated testing environment, a developer's personal environment, a customer's installation, or a hosted production instance.  To do this you need to externalize your applications configuration or build a UI and maintain the configuration in your database.  Using property files is a simple approach and works quite well and has some advantages over the database approach if your application instances are ephemeral.
You can have a default properties file and afterwards overwrite it with a file that is external to your application. The "properties overwrite file" is optional
<bean id="propertyConfigurer" 
 class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
 
</bean>
 

<bean id="propertyOverrideConfigurer"
        class="org.springframework.beans.factory.config.PropertyOverrideConfigurer">
       
          
</bean>
References:
  1. http://static.springsource.org/spring/docs/2.5.x/reference/xsd-config.html 
  2. http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/beans.html#beans-factory-overrideconfigure