Increase the session timeout of Oracle BPM Worklist app
The Oracle BPM Worklist app is a part of the Oracle SOA Suite. Working with the Worklist app is very annoying, because the default timeout is very short (seconds!). So after getting a cup of coffee or reading a mail you have to login again.
Solving this problem seems quite easy by increasing the session timeout in your (generated) ADF human task or in the worklist app in the weblogic console, but it all doesn’t work.
The solution for this annoying issue is quite easy, once you know where and how. Here is the trick.
First we need to create a deployment plan for the worklistapp. When you already have one, you can skip step 1 to 5 and continue with step 6.
1. Navigate in the Weblogic console to “Deployments” (in the menu on the left) and search in the list for “worklistapp”.
2. Expand the worklistapp [+] and under Modules click on Web Application “/integration/worklistapp”.
3. Go to the “Configuration” tab (subtab “General”).
4. Change the value of the “Session Timeout (in seconds)” to something else (it must be a different value).
5. Save and follow the weblogic directions to create a deployment plan (plan.xml).
6. Locate you deployment plan by going the “Deployments” page and search again for “worklistapp”.
7. Instead of expanding, click on the “worklistapp”.
8. You can see the location of your deployment plan under tab “Overview” after property “Path”.
9. Go to this location on the machine (server) where the BPM Worklist (SOA Suite) is installed.
10. Make a copy of the plan (e.g. Plan2.xml), leaving the original one as ‘backup’.
11. Edit the new deployment Plan2.xml file.
12. Search in the beginning of the file for the setting with the name SessionDescriptor_timeoutSecs_xxxxxxxxxxxxxx where x is a digit
Edit the value for the timeout you desire. The timeout value you define proves to be in minutes (not seconds, despite of the name)!
e.g. in my case, I’ve set the timeout to 45 minutes:
<variable> <name>SessionDescriptor_timeoutSecs_13064193293970</name> <value>45</value> </variable>
13. Search for the node “module-override” of the “worklist.war” module (xpath: /deployment-plan/module-override/module-name).
14. In this “module-override” node, there is a child node “module-descriptor” that contains child node “root-element” with value “web-app”, probably the last child node of node “module-override”).
Note: Don’t confuse it with node “module-descriptor” with “root-element” node “weblogic-web-app”.
15. When you’ve found the correct “module-descriptor” node, add the following child nodes after child node “uri”, which should have value “WEB_INF/web.xml”, and replace the xxxxxxxxxxxxxx with the same digits you have found in step 12:
<variable-assignment> <name>SessionDescriptor_timeoutSecs_xxxxxxxxxxxxxx</name> <xpath>/web-app/session-config/session-timeout</xpath> <operation>replace</operation> </variable-assignment>
e.g in my case:
<module-descriptor external="false"> <root-element>web-app</root-element> <uri>WEB-INF/web.xml</uri> <variable-assignment> <name>SessionDescriptor_timeoutSecs_13064193293970</name> <xpath>/web-app/session-config/session-timeout</xpath> <operation>replace</operation> </variable-assignment> </module-descriptor>
16. Save the file.
17. Go back to the Weblogic console and again go to the “Deployments” page.
18. Select “worklistapp” [v]
18. Stop the “worklistapp” with the Stop button.
19. Select “worklistapp” [v] again.
20. With the “Update” button use your new deployment plan (e.g. Plan2.xml)
Note: When there are problems (errors) with updating other applications as well, stop the other applications and restart them after the update of the “worklistapp”.
21. Start the “worklistapp”.
You can check if it works bij checking the session timeout of a session.
22. First login into the BPM Worklist to create a session.
23. In the Weblogic admin console, go to the “Deployments” page and search for the “worlistapp” again.
24. Expand the “worklistapp” [+] and under Modules click on Web Application “/integration/worklistapp”.
25 Click on tab “Monitoring” and select subtab “Sessions”.
26. If you’ve done it correctly, the “Max Inactive Interval” is set to your value multiplied by 60 (minutes to seconds).
e.g. in my case, it’s 2700 (45 * 60).
And from now on a less annoying life has began!
- Report from Oracle Open World 2007 – Slides from our Knowledge session
- The Golden Hammer – Dutch Oracle User Group Session on JDeveloper 11g Technology Preview 3
- Session announcement: Oracle Service Bus (25 feb 2009)
- How to let your user know his session has expired in an ADF10g application
- AMIS Query – Preview Session Oracle Open World 2008
- new Puppet 3 Weblogic provisioning module
- The AMIS Summary of Oracle OpenWorld 2013 is available for download – 60-page white paper
- WebLogic & FMW Provisioning update
- The road ahead for WebLogic 12c
- Enriching XMLType data using relational data – XQuery and fn:collection in action
- OOW13: Cloud roadmap & announcements – from zero to H/A WebLogic Cluster plus Database RAC in 30 minutes
- You consolidated your applications in one database, but now one application needs recovery…
- Quick & Easy migrate VM from Oracle VM 2.x to 3.x
- ADF 12c: Using WebSockets to implement client to client push (in a scalable manner)
- Oracle Database SQL – Recursive Subquery to inspect events in football matches – find the MVP