Showing posts from February, 2015

Diagnosing MQ client and resource adapter problems via trace logging

Standalone tracing WebSphere MQ classes for JMS applications It’s a relatively simple process to enable logging for MQ JMS client libraries. 1. Add a reference WebSphere MQ classes for JMS configuration file . Here is the command line arguments to reference the common services properties files called “” for MQ. Note: the location for the MQ classes for JMS is a uri (i.e. prefix it with file:) whilst the location for MQ classes for Java is a regular path and annoyingly it won’t give you an error if it can’t correctly read the file. Also included is a reference to a java keystore and turning on logging for SSL and connection handshaking as getting MQ and SSL working seems to be a constant battle, with cipher suites being the most common cause. I even had trouble trying to use the same ssl/cipher from WLP in both standalone JMS and in the non-JMS setup. It seems to require some trial and error for each of the 3 ways of using MQ listed here.

Keeping a windows process after a jenkins job

One of our jobs on Jenkins is to deploy and startup an application server on a remote slave. However we were having 2 problems with it: 1. the job wasn’t finishing 2. when we terminated it from jenkins, it killed the process it had spawned (the application server). I spent ages butting my head against Jython on windows, which in hindsight, I could have saved a lot of time if I'd seen how little of the functionality I need from python/windows was implemented in jython/windows. (1) was solved by getting the start command to write stdout/stderr to a file (irrespective of whether anything was written). (2) I tried many elaborate solutions, still thinking it was a jython or windows related problem. After seeing it mentioned in blog posts a few times I finally got what they were saying. Jenkins has a section on their site:  Spawning processes from build . Now the key thing here I missed was the  BUILD_ID environment variable. So unset it and as long as you've spawned a new