Thursday, October 1, 2009

Fixing a strange JavaUseClassicJVM error in Domino 8.5.1

DOMINOPOWER Q&A

By Joe Dolittle

Reader Fredrik Peltola tells us he's both ahead and behind the curve. He's been working with Domino 8.5.1 on an old System i installation and everything was going swimmingly, until he encountered a weird error message.

Here's what he told us:

I'm ahead of the game and behind everyone at the same time. We're installing a brand-new install of Domino 8.5.1 on an ancient and rusting System i machine. I know. But hey, the machine is unstoppable.
Unfortunately, I can't say the same of 8.5.1. As soon as we started it up, we began getting errors of the form "Notes .INI setting JavaUseClassicJVM in use".
The thing is, I know the classic JVM is in use. And so, apparently, does Domino. So why doesn't it seem to like me?

Well, Fredrik, don't you just love it when something that used to just work just stops? Welcome to the world of "progress". Fortunately, I know what your problem is (at least, what this problem is) and I can also share with you a relatively easy solution.

It turns out those slappy, happy, dappy Domino developers at IBM have decided to move on, at least when it comes to the Java virtual machine. There's an old Java virtual machine, known as "Java Developer Kit 6". And there's a new Java virtual machine, called J9, also known as "Java SE 6 32 bit".

Now, here's where you're affected. the old JVM hasn't been tested or supported for Domino 8.5.1, and IBM is going to stop supporting it in the System i release after 6.1. What you're seeing is a message telling you to switch Java machines.

Fortunately, it's a relatively easy fix, at least in terms of configuration. Obviously, any time you change a virtual machine, there could be some residual incompatibility, but that's not your immediate problem.

For now, simply go into your Notes.INI and either delete the setting:

JavaUseClassicJVM=1

or change it to:

JavaUseClassicJVM=0

Restart the server, and as long as you've got J9 installed, Domino will start using it.