Skip to Content

Restart ICM for NetWeaver Java

ICM is the web server for NetWeaver Java >= 7.1. Request directed to the NetWeaver server pass first through ICM. ICM therefore is an additional layer between your application and the end user. From time to time a change to the ICM configuration may be needed to adjust the parameters or enable new access methods.

As an example, the access to port 50008 shall serve to show how to configure ICM and make the change effective.

In a default configuration, access to port 50008 is not enabled. The telnet port itself is active on NW AS Java, but not reachable for external request:

/wp-content/uploads/2013/08/icm1_231516.jpg

ICM configuration

To be able to reach port 50008, ICM needs to be configured to allow remote access to this port. To achieve this, just add the telnet port in the ICM configuration file.

  • File location: /usr/sap/<INST>/SYS/profiles/<SYS>_J00_<name>
  • Parameter: icm/server_port_3 = PROT=TELNET,PORT=50008

PSMON

To make this change effective, ICM needs to be restarted. This is done using jsmon with the correct profile as parameter:

jmson pf=/usr/sap/<INST>/SYS/profile/<INST>_J00_<name>

The process related task explains how to restart ICM.

/wp-content/uploads/2013/08/icm2_231517.jpg

The command is: process restart <idx>. To get the ID of ICM, take a look at the process list. Issue the command: process view

/wp-content/uploads/2013/08/icm3_231593.jpg

The ID for ICM is 1 and the current state is running. To trigger a restart: process restart 1

/wp-content/uploads/2013/08/icm4_231594.jpg

Now the new configuration is effective and the telnet server of NW Java can be accessed.

/wp-content/uploads/2013/08/icm5_231595.jpg

Why does ICM not re-read the configuration when it was changed and applies the change on the fly? Don’t ask me why SAP enforces a shutdown for a parameter change. Even worse that ICM is in front of your NetWeaver, so all current HTTP connections get lost and the end-user gets an error message. Hopefully the connection is only for a few seconds down, so the session data should still be valid and the users can continue with their work.

Why use psmon

Do not kill and restart the process like this:

Find the process ID.

/wp-content/uploads/2013/08/icm6_231596.jpg

Kill the icman process: kill -9 <processed>.

Then restart the process with the above shown parameters.

/wp-content/uploads/2013/08/icm7_231597.jpg

This will result in a 503 error message from ICM

/wp-content/uploads/2013/08/icm8_231598.jpg

7 Comments
You must be Logged on to comment or reply to a post.