Simple Apache CXF: client and server example

I needed a simple example of how to use Apache CXF to create a client and a server to show to one of my team mates and I couldn’t find one that I liked. Hence, I created a very simple and reasonably well documented ones. You can find the code on my GitHub repository. If you’re lazy, here’s the direct link to each one of them – along with build/run instructions:

Happy coding!

New goodies for SSPS 0.1.x

For the last few days I’ve been working on a few improvements for the SSPS. One of the focus I have at the moment is to make it easier to use. The fact that it relies on a 3rd party component to work may raise eyebrows on some users. Hence I am trying to make it easier to setup a new repository. Today I pushed a few patches to the master that allow a user to configure a repository by using the following command:


This command downloads, installs and pre-configure JackRabbit with a very simple repository. As the application matures, I plan to make its usage even easier. If you’re not afraid of unstable software, you can get the latest and greatest code from my github.

Solving MQRC_NOT_CONVERTED problem: the easy way

In WebSphere MQ 7, IBM has changed the default Coded Character Set Identifier (CCSID)  and that may cause problems in certain conditions. I’ve encountered this problem while working on a Java application that used JMS to communicate with a legacy C/C++ application running on HP-UX. While the communication with other Java/JMS applications worked flawlessy, the communication with its non-JMS backed caused it to throw the MQRC_NOT_CONVERTED (reason code 2119) to be thrown.

This exception occurs because the queue manager failed to convert between different CCSIDs. Luckily, the problem is documented with great detail by IBM, along with several ways to resolve it. I’ve found that the easiest way to resolve the problem is by setting the following parameters during the JVM startup (you can replace 819 with target CCSID):

This solution, however, requires the application where the exception is thrown, to be running at least version

A little more about logging

A friend of mine, who read the first article, asked me to elaborate further about good logging practices. Hence, I decide to go over some of them, point the problems and discuss the alternatives. I will try to discuss the items in the order they appeared on the article. To start this series of texts, let’s discuss about fancy logs.

Continue reading A little more about logging