how to change jvm of webmethods?

I want to change jvm of webmethods from 1.3 to 1.4

how to do that?


It would be good to know which webMethods component you’re asking about. Integration Server? Workflow? Portal? And which version?

For Integration Server you need to edit the …/IntegrationServer/server.bat or file [change the “SET JAVA_DIR” line]. This is assuming you use 6.x (4.x is similar, but different paths). You may need to re-register the settings if running as an NT service (execute “server.bat -service wmIS”).

If it’s not IS you’re asking about, please provide some more details for your question. Thanks.


Thank you James

I am using webMethods6.0.1

I did the following steps
1.Changed the JAVA_HOME in environment variables.
2.Changed the path in environment variables.
3.Changed JAVA_DIR to current path of 1.4 in webMethods6\IntegrationServer\bin\server.bat
4.Changed all the JAVA_DIR in every bat file to current path of 1.4 which point to 1.3
5.Copyed tools.jar of Sun1.4.2 to webMethods6\IntegrationServer\lib\jars
6.Restart the server

And I write a method of JDK1.4 to test the JVM version:

String test = “abcdefghijk”;
String result = test.subSequence(0,3).toString();
util.Log.log(“result====” + result);

Now the result is the webMethod can compile the code,but can’t run it.

And the Help>Support Information is:

Developer Environment Settings:
Version: 6.0.1 (425)
Updates: ID_6-0-1_SP1
SSL: Strong (128-bit)
Plug-Ins: Connection Data PlugIn
Listener PlugIn
Flat File Schema plug-in;Version 6.0.1
Flat File Dictionary plug-in;Version 6.0.1
Flat File Schema
Flat File Dictionary
Developer Classpath: C:\Program Files\webMethods6\Developer\updates\ID_6-0-1_SP1.jar;C:\Program Files\webMethods6\Developer\lib\developer.jar;C:\Program Files\webMethods6\Developer\lib\client.jar;C:\Program Files\webMethods6\Developer\lib\ite3.jar;
Java Version: 1.4.1_02 (48.0)
Java Vendor: Sun Microsystems Inc.
Java Home: C:\Works\Dev\j2sdk1.4.1\jre
Java Classpath: C:\Works\Dev\j2sdk1.4.1\jre\LIB\rt.jar;C:\Works\Dev\j2sdk1.4.1\jre\LIB\i18n.jar;C:\Program Files\webMethods6\Developer\LIB\mail.jar;C:\Program Files\webMethods6\Developer\LIB\proxy.jar;C:\Program Files\webMethods6\Developer\LIB\ssl.jar
OS: Windows XP
OS Platform: x86
OS Version: 5.1
Current User: yinyinha
Working Dir: C:\Program Files\webMethods6\Developer
Locale: zh_CN

Server Environment Settings for ‘localhost:5555’:
Version: 6.0.1 (425)
Updates: IS_6-0-1_SP2;TNS_6-0-1_SP1
Server Classpath: C:\Program Files\webMethods6\IntegrationServer\updates\IS_6-0-1_SP2.jar

Java Version: 1.3.0 (46.0)
Java Vendor: IBM Corporation
Java Home: C:\Program Files\webMethods6\IntegrationServer\jvm
Java Classpath: ;C:\Program Files\webMethods6\IntegrationServer\jvm\lib\rt.jar;C:\Program Files\webMethods6\IntegrationServer\jvm\lib\i18n.jar;C:\Program Files\webMethods6\IntegrationServer\lib\proxy.jar;
OS: Windows 2000
OS Platform: x86
OS Version: 5.1
Current User: SYSTEM
Working Dir: C:\Program Files\webMethods6\IntegrationServer
Locale: zh_CN

It seems the Server Environment didn’t change to 1.4, I think it’s the key.

Do you know how to solve it?

Thanks for the additional information. You seem to have done everything needed. How are you starting IS? If it is running as an NT service you need to refresh the registry to pickup your new JAVA settings. If running as an NT service execute this:

server.bat -service wmIS

Then try starting Integration Server again. For a test, try just starting the server in a DOS window [ie. server.bat -debug 5 -log none] and check the About screen, hopefully the server environment settings will point to the new JVM. If this works, and the NT service doesn’t, then the command above should help you out.


I even restart the machine.
Server Environment is still point to 1.3. :frowning:

Which bat file is controlling the Server Environment?

The webMethods6\IntegrationServer\bin\server.bat you mention is the primary file involved. But if you run IS as an NT service details from the server.bat get moved into the Windows registry, and these values are used when starting IS [as an NT service].

You can see the details using regedit at this key:

My Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\wmIS\WebmServiceInfo

That’s what the command I mentioned a couple of times updates [it pulls details from the server.bat and puts them into the registry]. So, can you please tell me if you have run the command:

server.bat -service wmIS

Since updating the JAVA_DIR in your webMethods6\IntegrationServer\bin\server.bat file? And did you try running the server.bat in this directory in a command prompt? Did that make any difference? Did you set JAVA_DIR to “C:\Works\Dev\j2sdk1.4.1\jre”?


1.updating the JAVA_DIR in your webMethods6\IntegrationServer\bin\server.bat file to C:\Works\Dev\j2sdk1.4.1\jre

2.server.bat -service wmIS

But the service can’t run now

Could you check if there’s any error message?
From your first post, you forgot one important step.
You need to delete the JCE.jar file from the JRE you are pointing to. Also, note that 1.4.X JVM is supported from IS 6.0.1 SP1 onwards.

Below is the excerpt from the IS 6.0.1 SP1 README:
Follow the detailed instructions below to configure
JVM 1.4.x for use with the 6.0.1 Integration Server.

      The JCE implementation that comes with JDK 1.4.x 
      requires the use of signed cryptographic libraries.
      Because webMethods Integration Server 6.0.1 SP1 does
      not ship with signed libraries, we provide a JCE
      implementation along with the server; this 
      implementation does not require signed libraries.  To
      run webMethods Integration Server 6.0.1 SP1 with
      JVM 1.4.x, you must first make the following changes 
      to your JVM 1.4.x installation:

      1. Navigate to the jre/lib directory under the JVM 
       1.4.x  installation and copy the JCE.jar to a 
       location outside the jre/lib directory.

      2. Delete the jre/lib/JCE.jar file from the JVM 1.4.x 
       installation directory.
      3. To configure the Integration Server to use this 
      JRE, navigate to the <IntegrationServer_directory>/bin
      directory, open the server.bat (Windows) or
      (Unix) file, and set the JAVA_DIR parameter to point 
      to your JRE 1.4.x installation.

      If you are using JVM 1.4.X, a Java ClassCastException
      that occurs within the Integration Server will not 
      include Class information; this is expected behavior 
      with JVM 1.4.X.

I have IS_6-0-1_SP2 installed on my box.
I will have a try.

And do I need to set http://localhost:5555->Extended ->Extended Settings
to something like this?

watt.server.compile=C:\Works\Dev\j2sdk1.4.1\bin\javac -classpath {0} -d {1} {2}
watt.server.compile.unicode=C:\Works\Dev\j2sdk1.4.1\bin\javac -encoding Unicode -classpath {0} -d {1} {2}

That’s ok in 1.4 now. Thank you all!

But I can only start the server in command window,do anyone know why?

From my experience doing the same thing in Unix, when removing the jce.jar file from the JRE142 directory, you then have to set the classpath in the file to point to the internal jce.jar file.

If you do that and use a file, you will need to have this jce.jar path in any path statements.

I have a similar problem when i start the server from NT services:
JVM.dll not found.
But when i try to start from command prompt i have no issues.I even tried to re-regester the settings from comand prompt by running the bellow command:
server.bat -service wmIS
I got the following error:
Failed to save parameters to start program as an NT service.

Please let me know if anyone has any idea why i am getting this error. I appreciate your help.