Category Archives: programming

Gradle version in Jenkins build

Out of the box Jenkins can extract the metadata from Maven build for use as environment variables in the build steps, but it doesn’t have the same support for Gradle. This can be achieved using the EnvInject plugin, and a … Continue reading

Posted in programming | Leave a comment

The strange beast of PyTZ and datetime

The crux of this post is, make sure to never use datetime.replace(tzinfo=…) when working with PyTZ, use tz.localize(…) instead, otherwise you’ll end up with some very strange times. The PyTZ docs do mention this helper method as a way to … Continue reading

Posted in programming, python | Leave a comment

Null and JPA2 Native Query in MSSQL

This post involves a slightly edge case scenario that I encountered a couple of months ago, so hopefully I get all the details right the first time. Essentially, I had a JPA2 project using Hibernate 3.6.10 as the ORM. This … Continue reading

Posted in java | Leave a comment

Saltstack: Passing objects to templates

Quick one. When you pass a variable like this to a template through the context/default parameter it is iterpreted as a literal string: server_xml: file: – managed – name: /opt/tomcat/conf/server.xml – template: jinja – source: salt://tomcat/files/server.xml.tmpl – context: deploy_conf: deploy_conf … Continue reading

Posted in saltstack, technology | Leave a comment

Using MapMessage with ActiveMQ with a Python Stomp.py consumer

Out of the box a STOMP consumer on an ActiveMQ broker will be able to receive TextMessages, but MapMessages will arrive without content. This is because we need to specify a converter to ActiveMQ(?) which we can do in the … Continue reading

Posted in python, Uncategorized | Leave a comment

Simple type checking using property()

Python usually relies of duck typing for type safety, but from time to time it can be handy to enforce some type checking, particularly when new users are going to be using your objects. The following are three utility methods … Continue reading

Posted in programming, python | Leave a comment

Reloading Tiles2 Config in Spring 3.x

When you are using Tiles for layout composition with Spring you configure it as a view resolver by adding something like this to the applicationContext.xml     <!– Configure the Tiles templates –>     <bean id=”tilesConfigurer”         class=”org.springframework.web.servlet.view.tiles2.TilesConfigurer”>        … Continue reading

Posted in Spring | 1 Comment

Spring MVC Validation BindingResult

A quick note about using the BindingResult to detect and report errors in a form. One gotcha that got me was the need to set a name on the @ModelAttribute in order to properly relate the form:form commandName and the … Continue reading

Posted in java, Spring | 2 Comments

Programmatically getting the Maven version of your project

It is often handy to be able to extract the Maven version of your project at run time, either for displaying in an about box, or in debugging information. One option is to read /META-INF/maven/${groupId}/${artifactId}/pom.properties. However, this file is only … Continue reading

Posted in java, Maven, programming | 1 Comment

Debugging connection pool leak in Apache HTTP Client

I recently had an issue using the Apache HTTP Client pooling library where after a while threads would just block when trying to open connections. It didn’t take too much to figure out that the thread pool was being exhausted, … Continue reading

Posted in java | 1 Comment