Hello all,

My current company has a policy that expires passwords every month, therefore DB2 and WMB services that are tied to this  account to Log On needs to be changed as well. Also the broker instance(s) need to be updated with the new password for the data store. Here is a quick checklist to fix the situation. Please note that this list is not exhaustive;

1. Fix DB2 services – The easiest way to do this is switch to services view in Windows and spot the services that are failing to start. Next right click these services and from the context menu select properties. Select the Log On tab and change the password used for these services. Please note that some services use the local system account while others use a selected account and it is these services which use a selected account that fail. (I don’t know why services use a different approach as of now so if you know I would appreciate if you can tell me)

2. Next you need to fix the service password for your configuration manager. For this you need to issue amqsichangeconfigmgr <config_mgr_name> -a <password>. Start your configuration manager by issuing a mqsistart command following this.

3. The last piece you need to fix is your broker instance. For this you need to fix both service password and data source password. Issue a mqsichangebroker <broker> -a <password> -p <password>. Start your broker instance by issuing a mqsistart command.

Environment: WMB 6.1.0.4 and DB2 v9.1 on Windows XP


Hi all,

It’s been a long time. The past few months were pretty hectic. I haver tons of drafts for new posts including complete tutorials but I guess they will have to wait for at least another month. In the meantime here  is a small quick guide to enabling debugging for Websphere Message Broker flows. If you are like me, aside from tracing you always like a decent debugger for tracing code.

1. Install the Rational Agent Controller

Please remember that you need to choose a JDK other than the IBM JDK installed with the WMB. It is wise to choose a Java 5 JDK. This is the JDK the Rational Agent Controller uses to start a debugger instance and connect to the execution group.

2. Assign debug port to execution group and enable debugging

You need to assign a debug port to the execution group you want the debugger to attach to and enable debugging. Please remember that this can constitute a security vulnerability since the debug port should be accessible from outside.

Set execution group debug port

Next you should enable debugging;

Enable debugging

3. Go to tthe command console and shoot;

mqsichangeproperties <broker-name> -e <execution-group-name> -o ComIbmJVMManager -n jvmDebugPort -v <port-number>

4. Restart the broker

5. Restart the broker toolkit

6. Create debug configuration

Create a new debug configuration by going to Debug… / Message Broker Debug / Add…

In the new configuration first click the “Select Execution Group…” which will result in the broker toolkit to query execution groups previously configured to discover the ones which have debugging enabled. Choose the execution group you have configured. Enter the debug port you have picked and add the Source folder to the debug configuration.

Run Configuration

7. Add breakpoints to you flow and use the debug configuration you have created to debug your flows.

Environment: Rational Agent Controller v6.0.1, Websphere Message Broker 6.1.0.4


Hello all,

Obviously I haven’t posted anything in a while now. The reason for this is, I have accepted a new job and now working in Switzerland (More info on this later).. Since I have relocated and didn’t have a project for the past 3 months, I didn’t have anything to post. I have recently started my new assignment which is a very cool one so expect to hear a lot more from me in the coming days.  So here is a small tip on changing the langauge settings..

In my case, I have a computer with Windows XP which has German language as it’s primary language. When I installed MQ Explorer it picked up German as it’s main language which is a showstopper for me. Fortunately it is very easy to change it back into English:

  • Open <InstallDir>/Eclipse SDK30/eclipse/configuration/config.ini
  • Add these two lines before eof

org.osgi.framework.language=en
osgi.nl=en_US

Reboot and there it is :)


There is going to be a 4 day course on Domain Driven Design by the guy who literally wrote the book on it :)

Here are the details: http://www.domainlanguage.com/services/training/index.html


I’ve spent a good deal of time today trying to deploy an application I’ve recently completed on Oracle IAS 10g. I still haven’t decided if I like the beast or not. I already knew about the bug regarding the antlr.jar, but in the past I dealt with it by renaming the antlr.jar in the toplink directory under JDeveloper. Since I had to deploy on a server that already hosts a dozen of other applications developed by other people, this was not an option.

Luckily, it wasn’t very hard to figure out my way. After tweaking the deployment options for a while, I noticed on the third step of the deployment wizard, there was an option to modify classloading. I turned of loading of the toplink library for my app, and voila. It started working like a charm.

A quick note for the people who has no idea about this issue: The antlr.jar version required by the hibernate causes problems since a different version of antlr is included with the toplink library.

My Setup: Oracle IAS 10.1.3.3 on Linux


Yesterday I spent a good part of my day trying to use the JNI bridge. I was trying to build a very simple spike (basically a HelloWorld example) and call that code from Java. After the usual process of generating headers and including it in C++ code, I run my java code just to get the following exception;


Exception in thread "main" java.lang.UnsatisfiedLinkError: jnidemojava.Main.nativePrint()V
at jnidemojava.Main.nativePrint(Native Method)
at jnidemojava.Main.main(Main.java:27)

After searching for long hours, inspecting the compiled DLL using Anywhere PE Viewer, etc. I found out that that GCC compiler exports function names in shared libraries with a suffix indicating the number of bytes required to hold the arguments passed to the function which is known as name mangling. Therefore, the JNI bridge cannot locate the necessary method! In order to fix this,

-Wall -D_JNI_IMPLEMENTATION_ -Wl,--kill-at

should be added to compiler options during compilation of the DLL. This is explained on the MinGW frequently asked questions.

Thanks to the folks on the Java forums. Here is the link I found out about this information. There are other posible reasons causing you trouble so I’m including the link here which discusses other possible solutions.

BTW, my setup is:

Win XP + MinGW 5.1.4 + MSYS 1.0 + Netbeans 6.1 + Sun JDK 6