Skip to Content
Technical Articles
Author's profile photo Tobias Hofmann

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:

jsmon 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

Assigned Tags

      8 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Manas Behra
      Manas Behra

      Really informative !!!

      Thanks

      Manas Behra

      Author's profile photo Tom Cenens
      Tom Cenens

      Hi Tobias

      Thanks for sharing.

      Any idea of kill works instead of kill -9? For the Gateway for example kill will do the trick, kill -9 will also really "kill" off the gateway and prevent it from auto restarting.

      Best regards

      Tom

      Author's profile photo Tobias Hofmann
      Tobias Hofmann
      Blog Post Author

      I tried several kill parameters, the main problem was to restart the process in a functional way afterwards. The only way it always worked was with psmon.

      Author's profile photo Former Member
      Former Member

      I don't think there is a signal to restart icman, see the attached link.

      http://help.sap.com/saphelp_nw73ehp1/helpdata/en/48/7f2ced7df935e1e10000000a42189c/frameset.htm

      Author's profile photo Former Member
      Former Member

      Thanks for sharing

      Regards

      Amit

      Author's profile photo Willi Eimler
      Willi Eimler

      Unfortunately it is not possible anymore to rate 5 stars 🙁

       

      Very good quick blog!!! Thanx for sharing.

       

      Author's profile photo Isaias Freitas
      Isaias Freitas

      Hello Tobias,

      You might not need to restart the ICM, depending on which parameter you want to change.

      You can use the icmon tool (at OS level) or access the ICM Web Administration page.

      You can change the definition of the "icm/server_port_X" parameters on the fly through the admin page, for example ;-).

      Changes made with the icmon tool or with the web admin page are lost if the system is restarted. Thus, you would still need to make the change at the profile as well.

      Cheers!

      Isaías

       

      Author's profile photo Mehmet Dagnilak
      Mehmet Dagnilak

      After 9 years, this is still a very useful information. Thank you very much!