Wolfram Web Engine Configuration
WWEConfiguration.xml
The central place for the configuration of Wolfram Web Engine is WWEConfiguration.xml, which is located in the WEB-INF folder of the webapp.
Tags
ApplicationsDirectory
ApplicationsDirectory is a configuration setting that specifies the path of the Applications folder, which is where the Wolfram Language code packages needed to run your web application are typically stored.
ApplicationsDirectory defaults to "/WEB-INF/Applications" and is a path relative to the webapp.
ApplicationsRealDirectory
ApplicationsRealDirectory is a configuration setting that specifies the path of the Applications folder, which is where the Wolfram Language code packages needed to run your web application are typically stored. The only difference with ApplicationsDirectory is that ApplicationsRealDirectory is an absolute path. In the case when both are set, ApplicationsRealDirectory takes precedence.
CheckToExpression
CheckToExpression is a configuration setting that specifies whether a security check should be applied to the Wolfram Language function ToExpression. The default value is True, and you will not often need to change this. More information on this and other security issues can be found in the Advanced Topics: Security section.
CheckToExpression takes Boolean values (true/false) and defaults to true.
DebugLinkFileBase
DebugLinkFileBase is a configuration setting that sets the path of the file to write debuglink information. When this is set a listening link is created in the Kernel that the debugger can attach to. The name of the link is written in a file, derived from this option with the Kernel number appended.
DebugWaitLimit
DebugWaitLimit is a configuration setting that sets the time which the kernel will wait when it is launched in debug mode (i.e. when DebugLinkFileBase is set).
DebugWaitLimit is expressed in milliseconds.
FileCheckPeriod
FileCheckPeriod is a configuration setting that sets the interval between checks for temporary files and their deletion.
FileCheckPeriod is expressed in milliseconds and defaults to 60000 (60 seconds).
FileUploadSizeLimit
FileUploadSizeLimit is a configuration setting that specifies the maximum size of files that are uploaded to the server.
FileUploadSizeLimit is expressed in bytes and defaults to 4194304 (4 MB).
ImmediateCleanup
ImmediateCleanup is a configuration setting that specifies whether the check for temporary file should happen after each evaluation as opposed to at regular intervals (see FileCheckPeriod).
ImmediateCleanup defaults to false.
JLinkEnabled
JLinkEnabled is a configuration setting that specifies whether JLink is enabled.
JLinkEnabled defaults to true.
KernelAcquireCode
KernelAcquireCode is a configuration setting that gives Wolfram Language code that runs when a kernel is acquired by the server to start a new computation.
KernelAcquireLimit
KernelAcquireLimit is a configuration setting that sets the number of requests a kernel can serve. After this limit is reached, the kernel is shut down and a new one is started.
KernelAcquireLimit is given as a positive integer, a negative value is intended as no limit. KernelAcquireLimit defaults to 2000.
KernelBaseMemoryLimit
KernelBaseMemoryLimit is a configuration setting that sets the limit for the base amount of memory that a Wolfram Kernel can use. The base amount of memory is measured as the memory usage at the start or end of a computation and is not influenced by temporary usages of memory inside of a calculation. When the memory limit is exceeded, the kernel is restarted. To limit temporary usages, use KernelPeakMemoryLimit.
KernelBaseMemoryLimit is expressed in bytes and defaults to 1073741824 (1 GB).
KernelDestroyCode
KernelDestroyCode is a configuration setting that gives the Wolfram Language code that runs when a kernel is being shut down by the server. Note that this code is not run if the kernel is shut down due to an exception, such as a timeout or memory limit.
KernelDestroySleepTime
KernelDestroySleepTime is a configuration setting that gives the time to wait after a Kernel has been destroyed.
KernelDestroySleepTime is expressed in milliseconds and defaults to 500 (0.5 seconds).
KernelExecutable
KernelExecutable is a configuration setting that sets the path to the kernel executable. If the Wolfram Engine is installed in a standard location for your platform, there is no need to set this. However, if you have installed the Wolfram Engine for your web server in a nonstandard location, then you will need to set KernelExecutable.
KernelExtraPath
KernelExtraPath is a configuration setting that gives extra path to be added to $Path before JLink is loaded. KernelExtraPath is a path relative to the webapp root.
KernelRealExtraPath
KernelRealExtraPath is a configuration setting that gives extra path to be added to $Path before JLink is loaded. The only difference with KernelExtraPath is that this is an absolute path, in case both are set KernelRealExtraPath takes precedence.
KernelInitializeCode
KernelInitializeCode is a configuration setting that gives the Wolfram Language code that runs when a kernel is launched by the server. It can be used to load common packages and tools that are used by the server.
KernelInitializeTimeLimit
KernelInitializeTimeLimit is a configuration setting that gives the time allowed for the initialization of kernels.
KernelInitializeTimeLimit is expressed in milliseconds and defaults to 60000 (1 minute).
KernelJavaObjectLimit
KernelJavaObjectLimit is a configuration setting that gives the number of Java objects a kernel is allowed to have loaded. After this limit is reached, the kernel is restarted.
KernelJavaObjectLimit defaults to 5000.
KernelLaunchFlags
KernelLaunchFlags is a configuration setting that gives any special flags that you want to set on the command line for the launch of the Wolfram Kernel. This is typically not needed, but, for example, you may want to set the password file that is used.
KernelNumber
KernelNumber is a configuration setting that sets the number of kernels that are used by a kernel pool. A kernel pool is a group of Wolfram Kernels that can be specially configured; this is documented in the Advanced Topics: Multiple Kernel Pools section.
KernelNumber is given as a positive integer and defaults to 1.
KernelPeakMemoryLimit
KernelPeakMemoryLimit is a configuration setting that sets the limit for the peak amount of memory that a Wolfram Kernel can use. The peak amount of memory means any temporary usage of memory that might happen during a calculation. When the memory limit is exceeded, the kernel is restarted. To limit the base amount of memory, use KernelBaseMemoryLimit.
KernelPeakMemoryLimit is expressed in bytes and defaults to 1073741824 (1 GB).
KernelPool
KernelPool specifies the configuration to use for a new kernel pool. A kernel pool is a group of Wolfram Kernels that can be specially configured and is documented in the Advanced Topics: Multiple Kernel Pools section.
KernelPoolAcquireQueueLimit
KernelPoolAcquireQueueLimit is a configuration setting giving the number of threads allowed to be queued up for acquiring a kernel. Any threads attempting an acquire after this limit has been reached will be refused.
KernelPoolAcquireQueueLimit defaults to 10.
KernelPoolAcquireTimeLimit
KernelPoolAcquireTimeLimit is a configuration setting giving the time the server is allowed to wait when acquiring a kernel from a kernel pool.
KernelPoolAcquireTimeLimit defaults to 30000 (30 seconds).
KernelPoolName
KernelPoolName is a configuration setting that specifies the name of a kernel pool. A kernel pool is a group of Wolfram Kernels that can be specially configured and is documented in the Advanced Topics: Multiple Kernel Pools section.
KernelReleaseCode
KernelReleaseCode is a configuration setting giving the Wolfram Language code that runs when a kernel is released by the server at the end of a computation. Note that this code is not run if the kernel is shut down due to an exception, such as a timeout or memory limit.
KernelTimeLimit
KernelTimeLimit is a configuration setting that sets the maximum amount of time for which a kernel can run a computation. This is an important feature that maintains the reliability of the server.
KernelTimeLimit is expressed in milliseconds and has a default of 30000 (30 seconds).
SecurityConfigurationFile
SecurityConfigurationFile is a configuration setting that specifies the location of the security configuration file for a kernel pool.
SecurityConfigurationFile is a path relative to the webapp root defaults to /WEB-INF/SecurityConfiguration.m.
SecurityConfigurationRealFile
SecurityConfigurationRealFile is a configuration setting that specifies the location of the security configuration file for a kernel pool. The only difference with SecurityConfigurationFile is that this is an absolute path, in case both are set SecurityConfigurationRealFile would take precedence.
SecurityErrorFatal
SecurityErrorFatal is a configuration setting that specifies whether security errors are fatal, that is they initiate a kernel restart.
SecurityErrorFatal defaults to true.
TempDirectoryObject
TempDirectoryObject is a configuration setting that specifies the path of the temporary files directory used by the Wolfram Web Engine webapp.
TempDirectoryObject defaults to inheriting the value set by the servlet container context as javax.servlet.context.tempdir.
URLPattern
URLPattern is a configuration setting that specifies the pattern of URLs that will use a particular kernel pool. A kernel pool is a group of Wolfram Kernels that can be specially configured and is documented in the Advanced Topics: Multiple Kernel Pools section.