Skip to main content
KIE Server accepts the following system properties (bootstrap switches) to configure the behavior of the server: System properties for disabling KIE Server extensions
Some jBPM controller properties listed in the following table are marked as required. Set these properties when you create or remove KIE Server containers in Business Central. If you use KIE Server separately without any interaction with Business Central, you do not need to set the required properties.
System properties required for jBPM controller Persistence system properties Executor system properties Human task system properties
PropertyValuesDefaultDescription
org.jbpm.ht.callback

mvel

ldap

db

jaas

props

custom

jaas

A property that specifies the implementation of user group callback to be used:

  • mvel: Default; mostly used for testing.
  • ldap: LDAP; requires additional configuration in the jbpm.usergroup.callback.properties file.
  • db: Database; requires additional configuration in the jbpm.usergroup.callback.properties file.
  • jaas: JAAS; delegates to the container to fetch information about user data.
  • props: A simple property file; requires additional file that keeps all information (users and groups).
  • custom: A custom implementation; specify the fully qualified name of the class in the org.jbpm.ht.custom.callback property.
org.jbpm.ht.custom.callbackFully qualified nameN/AA custom implementation of the UserGroupCallback interface in case the org.jbpm.ht.callback property is set to custom.
org.jbpm.task.cleanup.enabledtrue, falsetrueEnables task cleanup job listener to remove tasks once the process instance is completed.
org.jbpm.task.bam.enabledtrue, falsetrueEnables task BAM module to store task related information.
org.jbpm.ht.admin.userStringAdministratorUser who can access all the tasks from KIE Server.
org.jbpm.ht.admin.groupStringAdministratorsThe group that users must belong to in order to view all the tasks from KIE Server.
System properties for loading keystore System properties for retrying committing transactions Other system properties
PropertyValuesDefaultDescription
kie.maven.settings.customPathN/AThe location of a custom settings.xml file for Maven configuration.
kie.server.jms.queues.responseStringqueue/KIE.SERVER.RESPONSEThe response queue JNDI name for JMS.
org.drools.server.filter.classestrue, falsefalseWhen set to true, the Drools KIE Server extension accepts custom classes annotated by the XmlRootElement or Remotable annotations only.
org.kie.server.bypass.auth.usertrue, falsefalseA property that enables you to bypass the authenticated user for task-related operations, for example queries.
org.jbpm.rule.task.firelimitInteger10000This property specifies the maximum number of executed rules to avoid situations where rules run into an infinite loop and make the server completely unresponsive.
org.jbpm.ejb.timer.local.cachetrue, falsetrueThis property turns off the EJB Timers local cache.
org.kie.server.domainStringN/AThe JAAS LoginContext domain used to authenticate users when using JMS.
org.kie.server.repoPath.The location where KIE Server state files are stored.
org.kie.server.sync.deploytrue, falsefalse

A property that instructs KIE Server to hold the deployment until the jBPM controller provides the container deployment configuration. This property only affects servers running in managed mode. The following options are available:

  • false: The connection to the jBPM controller is asynchronous. The application starts, connects to the jBPM controller, and once successful, deploys the containers. The application accepts requests even before the containers are available.
  • true: The deployment of the server application joins the jBPM controller connection thread with the main deployment and awaits its completion. This option can lead to a potential deadlock in case more applications are on the same server. Use only one application on one server instance.
org.kie.server.startup.strategyControllerBasedStartupStrategy, LocalContainersStartupStrategyControllerBasedStartupStrategyThe startup strategy of KIE Server used to control the KIE containers that are deployed and the order in which they are deployed.
org.kie.server.mgmt.api.disabledtrue, falsefalseWhen set to true, disables the KIE Server management API.
org.kie.server.xstream.enabled.packagesJava packages like org.kie.example. You can also specify wildcard expressions like org.kie.example.*.N/AA property that specifies additional packages to allowlist for marshalling using XStream.
org.kie.store.services.classStringorg.drools.persistence.jpa.KnowledgeStoreServiceImplFully qualified name of the class that implements KieStoreServices, which is responsible for bootstrapping KieSession instances.
org.kie.server.strict.id.formattrue, falsefalseWhile using JSON marshalling, if the property is set to true, it will always return a response in the proper JSON format. For example, if the original response contains only a single number, then the response is wrapped in a JSON format, for example, {“value” : 1}.
org.kie.server.json.customObjectDeserializerCNFEBehaviorIGNORE, WARN, EXCEPTIONIGNORE

While using JSON unmarshalling, when a class in a payload is not found, the behavior can be changed using this property as follows:

  • If the property is set to IGNORE, the payload is converted to a HashMap
  • If the property is set to WARN, the payload is converted to a HashMap and a warning is logged
  • If the property is set to EXCEPTION, KIE Server throws an exception
org.kie.server.strict.jaxb.formattrue, falsefalseWhen the value of this property is set to true, KIE Server validates the data type of the data in the REST API payload. For example, if a data field has the number data type and contains something other than a number, you will receive an error.