Technical Articles
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:
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.
The command is: process restart <idx>. To get the ID of ICM, take a look at the process list. Issue the command: process view
The ID for ICM is 1 and the current state is running. To trigger a restart: process restart 1
Now the new configuration is effective and the telnet server of NW Java can be accessed.
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.
Kill the icman process: kill -9 <processed>.
Then restart the process with the above shown parameters.
This will result in a 503 error message from ICM
Really informative !!!
Thanks
Manas Behra
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
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.
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
Thanks for sharing
Regards
Amit
Unfortunately it is not possible anymore to rate 5 stars 🙁
Very good quick blog!!! Thanx for sharing.
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
After 9 years, this is still a very useful information. Thank you very much!