Adding vmargs to imqenv.conf

I wanted MQ to auto-startup during boot with the JVM arguments that I wanted. So I added the following line to imqenv.conf:

ARGS=-vmargs -Xms384m -vmargs -Xmx512m -vmargs -XX:+UseParallelGC

However, lib/imqinit ( which is called bin/imqbrokerd and imqcmd ) by will shown an error like this:

# sh lib/imqinit

lib/../etc/imqenv.conf: line 42: -Xms384m: command not found

If I put quotes in that line:

ARGS="-vmargs -Xms384m -vmargs -Xmx512m -vmargs -XX:+UseParallelGC"

... that error is gone, but imqbrokerd will not recognise the last JVM option. It will say:

Unrecognized VM option'+UseParallelGC"'

So I removed the quotes, and for now just live with the " command not found" error.

[797 byte] By [j.salvo] at [2007-11-26 8:19:52]
# 1
what JDK are you using ? Is it possible that the specific GC you are using isnt on that vm anymore (or the spelling is slightly off)the final error looks like a vm (vs MQ) error
Linda_Schneider at 2007-7-6 21:23:59 > top of Java-index,Application & Integration Servers,Sun Java System Message Queue...
# 2

JDK 1.5.0_07

The problem is not the JDK. The problem is the script lib/mqinit that is part of MQ. Notice the error closely again:

Unrecognized VM option '+UseParallelGC"'

Because the line added in imqenv.conf have double quotes on it:

ARGS="-vmargs -Xms384m -vmargs -Xmx512m -vmargs -XX:+UseParallelGC"

.. the lib/mqinit failed to remove the ending double quote at the end of the line, which causes the JDK to complain about the +UseParallelGC"

option.

If I remove the double quotes on that line, you get:

# sh lib/imqinit

lib/../etc/imqenv.conf: line 42: -Xms384m: command not found

... which is the workaround I am using now, since it appears that MQ still runs with the correct option.

It is an annoyance rather than a real bug.

jsalvo at 2007-7-6 21:23:59 > top of Java-index,Application & Integration Servers,Sun Java System Message Queue...