User Exit Include Files
Whilst the product supports custom templates it is now possible to only supply fragments of a customization rather than whole configuration templates, known as user exit include files. This allows you to specify additional settings to be included in the templates provided in stream when the product templates are used to generate the configuration files when using the initialSetup command. See initialSetup – Maintain Configuration Settings for details.
When initialSetup is executed the templates are applied with the following order of preference:
Base framework templates (no prefix). These templates should not be altered.
If a product specific template exists (prefixed by the product code) then the product template is used instead of the base Framework template for the configuration file. These templates should not be altered.
If a template is prefixed with "cm_" then this is a custom template to be used instead of the product specific and base framework template.
These templates should live in $SPLEBASE/templates.
Note: When creating custom templates please use the base framework and any related product templates as the basis for the content of the custom template.
Whilst this facility is flexible it means that any updates to the base or product templates MUST be reflected in any custom templates. A new option is to use user exits that are placed strategically in the most common configuration files that need change. When initialSetup is executed the existence of user exit files are checked (when an #ouaf_user_exit directive exists in the template) and the contents included in the generated configuration file. The figure illustrates the process for a typical configuration change:
Figure 34 – Include files
As with the custom templates user exits have preferences depending on the ownership of the user exit include file. Custom includes will override any product specific includes.
There are no base includes as they are already included in the template files. The figure below illustrates the preferences for both templates and includes:
Figure 35 – Template Hierarchy
The table below outlines the currently available user exits in the available templates:
Template File
User Exit Include File
Position and Usage
boot.properties.template
boot.properties.exit.include
Used to change boot properties file from Oracle WebLogic.
ejb-jar.xml.template
ejb-jar.xml.wls.jms_1.include
JMS Mappings for Oracle WebLogic.
hibernate.properties.web.template
hibernate.properties.exit.include
At end of file (common hibernate.properties - Database Connectivity Settings entries).
hibernate.properties.web.exit.include
At end of file (online specific hibernate.properties - Database Connectivity Settings entries).
log4j2.properties.template
log4j2.properties.exit.include
At end of file (common log4j2.properties – Product Logging Configuration entries).
log4j2.properties.root.exit.include
At end of file (specific online log4j2.properties – Product Logging Configuration entries).
log4j2.properties.service.template
log4j2.properties.exit.include
At end of file (common log4j2.properties – Product Logging Configuration entries).
log4j2.properties.service.exit.include
At end of file (specific service log4j2.properties – Product Logging Configuration entries).
ouaf.jmx.access.file.template
ouaf.jmx.access.file.exit.include
Allows for additional users to be specified for JMX connections.
ouaf.jmx.password.file.template
ouaf.jmx.password.file.exit.include
Allows for additional passwords to be specified for JMX users.
spl.properties.service.template
spl.properties.exit.include
At end of file (common spl.properties – Product Behaviour Settings entries).
spl.properties.service.exit.include
At end of file for EJB spl.properties – Product Behaviour Settings entries.
spl.properties.service.timeouts.exit.include
User exit for service timeouts.
spl.properties.template
spl.properties.exit.include
At end of file (common spl.properties – Product Behaviour Settings entries).
spl.properties.root.exit.include
At end of file for Web Application based spl.properties – Product Behaviour Settings entries.
spl.properties.timeouts.root.exit.include
User exit for global timeouts.
FW_spl.properties.keystore.truststore.include
User exit for keystore and trust store settings.
 
spl.properties.filter_mapping.include
Allows custom filter mappings
spl.properties.mobile.template
spl.properties.exit.include
At end of file (common spl.properties – Product Behaviour Settings entries).
spl.properties.mobile.exit.include
At end of file for mobile Application based spl.properties – Product Behaviour Settings entries.
spl.properties.timeouts.mobile.exit.include
Future use.
submitmitbatch.properties.template
submitbatch.properties.exit.include
Submitter extensions.
threadpoolworker.properties.template
threadpoolworker.properties.exit.include
Threadpool extensions.
web.xml.template
spl.properties.images.include
Image processing overrides for web.xml – JEE Deployment Descriptor.
web.xml.servlet_mapping.include
Allows custom servlet mappings.
web.xml.servlet.include
Allows custom servlet definitions.
web.xml.topReplace_config.include
Allow exclusion of files from top replace
To use these user exits create the user exit include file with the prefix "cm_" in the $SPLEBASE/templates directory. To reflect the user exits in the configuration files you must execute the initialSetup utility. Refer to the Custom JMS Configuration section for an example of this process.
Properties File User Exits
The product behavior is controlled at a technical level by the values in the properties files. Whilst most of the settings are defaulted to their correct settings in the file, additional parameters may be added to the properties files to add new behavior. User exits are used to set these additional parameters in the properties files.
From the table above there are more than one user exit available in each properties file template to use. This is designed to maximize the reusability of configuration settings. There are a number of specialized user exits that may need to be used:
Common Settings – The configuration files used by each channel of execution (online, Web Services and batch) has a common user exit. This user exit is used to house all the setting you want to implement regardless of the channel used. For example the common setting user exits are:
Configuration File
User Exits for common settings
hibernate.properties
hibernate.properties.exit.include
log4j2.properties
log4j2.properties.exit.include
spl.properties
spl.properties.exit.include
Channel specific Settings – To implement custom settings per channel there is a separate user exit to hold those parameters for those channels. The specific user exits are:
Channel
Configuration Files
User Exits for Common Settings
Web App Server
hibernate.properties
hibernate.properties.web.exit.include
log4j2.properties
log4j2.properties.root.exit.include
spl.properties
spl.properties.root.exit.include
Business App Server
log4j2.properties
log4j2.properties.service.exit.include
spl.properties
spl.properties.service.exit.include
spl.properties.service.timeouts.exit.include
Inbound Web Services
log4j2.properties
No User Exit available.
spl.properties
No User Exit available.
Batch Server
hibernate.properties
hibernate.properties.batch.exit.include
log4j2.properties
log4j2.properties.standalone.exit.include
spl.properties
spl.properties.standalone.exit.include
spl.properties.timeouts.standalone.exit.include