Especially during development, it can be useful to have your session in IdentityIQ timeout after more than the default 30 minutes. In order to extend the default session duration, the file WEB-INF/web.xml needs to be updated.
To manually make this change, look for the following code:
<!--
<session-config>
<session-timeout>30</session-timeout>
</session-config>
-->
Remove the comment markers (<!-- and -->)and change the default value (30) to the desired amount of minutes, for example 480 for 8 hours:
<session-config>
<session-timeout>480</session-timeout>
</session-config>
This change can be automated using the services standard build, by enabling custom modifications and adding an extra build script to the scripts folder. To enable custom modifications, edit the file build.properties and change the property runCustomScripts (default is false, change to true).
runCustomScripts=true
You may want to remove or disable some of the custom examples in the scripts folder:
They can be disabled by post-fixing the names with e.g. ".disabled".
The following code, also attached as a downloadable file, can then be places into the scripts folder. It is possible to change the file, so you can set different timeouts for different environments. E.g. 480 minutes for development and 60 for production.
File: build.custom.modify-web_xml_timeout.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project name="services.standard.build.custom.web_xml_timeout.xml">
<target name="web_xml_timeout" description="Change session timeout in web.xml">
<!-- timeout set to 480 minutes / 8 hours -->
<replaceregexp file="${build}/extract/WEB-INF/web.xml" match="<!--\s*$\s*<session-config>" replace="<session-config>" flags="m" />
<replaceregexp file="${build}/extract/WEB-INF/web.xml" match="</session-config>\s*$\s*-->" replace="</session-config>" flags="m" />
<replaceregexp file="${build}/extract/WEB-INF/web.xml" match="<session-timeout>\d+</session-timeout>" replace="<session-timeout>480</session-timeout>" />
</target>
<!-- The post expansion hook is called after war file is expanded to build/extract. -->
<target name="post.expansion.hook">
<antcall inheritall="true" target="web_xml_timeout" />
</target>
<target name="post.war.hook" />
<target name="clean" />
</project>
If we increase the session timeout value, will it impact application or servers performance ? If so, how can we optimize the performance to have longer session timeout duration.