PeopleSoft JoltPooling


The web server makes a connection to an application server using Jolt. Jolt is a Java API that manages and allows requests to Oracle TUXEDO services via a Jolt Service Listener, running on the TUXEDO server (application server). The Jolt API is embedded within the web server and is accessible from a servlet. A servlet basically connects to the Tuxedo using a session pool manager, which assigns a session based on availability and other factors beyond the scope of this document. This session is, then, connected to the Tuxedo system (application server) using Jolt. JoltPooling is one configurable parameter to configure a Jolt session (connection) pool between TUXEDO and the web server.

JoltPooling refers to the "Jolt session pooling" directive which enables web server connections to be shared between user sessions. When Jolt Session Pooling is enabled, the session is shared across all the servlets (like psc, psp ...etc). The existing sessions are shared across multiple servlets within Weblogic server which is expected to reduce the usage of system resources by sharing the user connection by pooled sessions such as threads and file descriptors…etc.


Known issues when using enabling JoltPooling

1-A common problem with production application server configurations that have load balancing/failover with more than one machine, is that file attachments and exporting the contents of a grid to excel no longer work when JoltPooling is enabled, giving the following error message:

"File not found or file received has length zero".

The common advice in this situation is to disable jolt pooling.

2-The second known drawback is that when “JoltPooling” is enabled, the user name in App Server client status is replaced by JPOOL_XXXX, so if you had any third party applications that use the app server client server to count how many users are logged into the system, this feature will be lost. 

3-When the first request hitting the web server soon after it is recycled is NOT a PIA request, then despite JoltPooling is enabled, the 'pclt' option will show regular USER names instead of JPOOL names. This is due to way the JoltPooling feature was designed.

Configuring Jolt Session Pooling

Jolt session pooling is enabled by default. Jolt session pooling enables web server connections to be shared between user sessions, which reduce the usage of system resources, such as threads and file descriptors.

You control session pooling by modifying the joltPooling parameter in the web.xml file. To enable Jolt session pooling, set the parameter value to true, and to disable Jolt session pooling set the parameter value to false. There are several places in this file to make this change. You can change all the values or do it on a servlet by servlet basis.

</init-param>
     <init-param>
       <param-name>joltPooling</param-name>
       <param-value>false</param-value>
     </init-param>
    </servlet>
     <servlet>
       <servlet-name>psp</servlet-name>
       <servlet-class>psft.pt8.psp</servlet-class>
       <init-param>
           <param-name>configDir</param-name>

After making this change you must restart your web server instance.

Note. Jolt session pooling is set per servlet.

Starting with PeopleTools 8.50 you can change the configuration.properties file under:

<PS_HOME>/webserv/<DOMAIN-NAME>/applications/peoplesoft/PORTAL.war/WEB-INF/psftdocs/<PIASITE>

Set joltPooling to false as seen below. The default is true in this file.

joltPooling=false.

Restart your web and application server domains after making the change.