Extreme Java When vanilla Java is not enough


Configuring SOAPInput node listener port

If you use IBM's WebSphere Message Broker to expose a webservice using a SOAPInput node, you notice that it listens to the 7800 port by default (or 7801, 7802, if you deploy other message flows, too). If you want to configure that port (changing it to 8080 or any other port number), you need to issue this command:

$ mqsichangeproperties BRKNAME -e default -o HTTPConnector \
                               -n explicitlySetPortNumber -v 8080
BIP8071I: Successful command completion.

After restarting the broker, it will open the desired port.


MQSeries not closing connections

I got this error while connecting to MQSeries:

MQJE001: An MQException occurred: Completion Code 2, Reason 2009
MQJE016: MQ queue manager closed channel immediately during connect
Closure reason = 2009

After some trial-and-error, I found the problem: MQ's InitialContext opens a connection, but only closes it if I close the IC itself:


Since my application creates a lot of instances of InitialContext, a lot of connections got leaked, giving that annoying error.

+1 to the IBM's hall-of-shame, section "useless error messages".