Skip to content

P6 Default Settings

This page list all the default configuration embedded inside P6. You can override the default settings by creating an additional conf/application.conf file in your instance’s data root folder (defined in the .env file).

Read more about the underlying config library.

Jetty Settings

The jetty section sets the configuration of Jetty.

Property Default value Description
jetty.threads.max 256 The maximum number of threads. The default value is 256.
jetty.threads.idle.timeout 120000 (2 minutes) The idle timeout for Jetty threads in milliseconds.
jetty.http.port 8080 The HTTP port for Jetty.
jetty.http.admin.port 8091 The port for Jetty’s admin interface.
jetty.http.idle.timeout 60000 (1 minute) The idle timeout for HTTP connections in milliseconds.
jetty.https.admin.port 8443 The HTTPS port for Jetty.
jetty.config.size.output.buffer 65536 (64 KB) The size of the output buffer in bytes.
jetty.config.size.request.header 32768 (32 KB) The size of the request header buffer in bytes.
jetty.config.size.response.header 32768 (32 KB) The size of the response header buffer in bytes.
jetty.dos.maxRequestsPerSec 128 The maximum number of requests per second.
jetty.dos.delayMs -1 The delay time for denied requests in milliseconds. Set -1 for no delay
jetty.dos.maxWaitMs 50 The maximum wait time for denied requests in milliseconds
jetty.dos.throttledRequests 5 The number of requests to allow in a throttle period
jetty.dos.throttleMs 30000 (30 seconds) The throttle period in milliseconds.
jetty.dos.maxRequestMs 60000 (1 minute) The maximum time a request can take in milliseconds.
jetty.dos.maxIdleTrackerMs 30000 (30 seconds) The maximum idle time for a tracker in milliseconds.

Common Message Bus Config

The cmb section sets the configuration for the Common Message Bus.

Property Default value Description
cmb.queue.item.notifier.class io.platform6.core.impl.cmb.listener.CMBListener The class for the item notifier. This is for debugging purposes only.

P6 Auth specific settings

The p6auth section sets the configuration for P6Auth.

Property Default value Description
p6auth.remote.provider.url https://login.amalto.io/apis/v2/p6auth The URL for the remote authentication provider.
p6auth.client.token.endpoint /oauth2/token The endpoint for retrieving tokens.
p6auth.client.id p6core The identifier for the client.
p6auth.client.secret The secret for the client.
p6auth.client.redirect.uri http://www.platform6.io The redirect URI for the client.
p6auth.org.children.limit -1 Set the number of children to be loaded in the tree

Antivirus settings

The antivirus section sets the configuration for the antivirus.

Property Default value Description
antivirus.engine none Set the antivirus engin (none, clamav)
antivirus.action delete Set the antivirus action on corrupted file (none, delete, quarantine)
antivirus.clamav.hostname host.docker.internal Set the hostname of the antivirus
antivirus.clamav.port 3310 Set the port number of the antivirus
antivirus.clamav.timeout 500 Set the timeout value when analyzing a file

Hazelcast - default standalone only

The hazelcast section sets the configuration for Hazelcast, an open-source data grid solution.

Property Default value Description
hazelcast.hazelcast.instance-name p6core_standalone_node_x The name of the Hazelcast instance.
hazelcast.hazelcast.network.port 5900 The port for the Hazelcast network.
hazelcast.hazelcast.network.public-address 127.0.0.1 The public address for the Hazelcast network.
hazelcast.hazelcast.network.join.multicast.enabled false The flag that determines whether multicast is enabled.
hazelcast.hazelcast.network.join.tcp-ip.enabled false The flag that determines whether TCP/IP is enabled.

InMemoryDataGrid Configuration

The imdg section sets the configuration for the InMemoryDataGrid (IMDG).

Property Default value Description
imdg.distributed.pmap.store.impl PROXY The implementation of the PMap store.
imdg.distributed.pmap.store.provider.class io.platform6.core.impl.platform.imdg.P6MapPersistenceProvider The provider class for the PMap store.
imdg.distributed.pqueue.store.impl PROXY The implementation of the PQueue store.
imdg.distributed.pqueue.store.provider.class io.platform6.core.impl.platform.imdg.P6QueuePersistenceProvider The provider class for the PQueue store.
imdg.cp.members 0 The number of nodes in a consensus group
imdg.cp.discover.wait 600 The number of seconds to discover a consensus group

Database Configuration

The database section sets the configuration for the Database (PostgreSQL).

Property Default value Description
database.host database The database server hostname.
database.port 5432 The database server port number.
database.name b2box The name fo the database.
database.schema p6core The name fo the schema inside the database.
database.username b2box The user authorized to access the schema.
database.password The user password.

p6 Configuration Documentation

The p6 section sets the configuration for P6Core.

Property Default value Description
p6.cache.annotation false Enable or disable cache annotations
p6.log4j.appender.notify.threads 2 Set the number of threads for the log4j appender to notify
p6.org.trustedPublishers.path /*/Trusted Publishers Set the path for the Trusted Publishers
p6.store.context PGSQL-StoreContext.xml Set the context source filename for the database
p6.store.retry.delay 700 configure the store retry handler, which is called when failing on concurrent transaction commits
p6.store.retry.count 8 Set the number of retries
p6.store.timeout.connection 30000 (30 seconds) Set the maximum number of milliseconds that a client will wait for a connection from the pool. The lowest acceptable connection timeout is 250ms
p6.store.timeout.idle 600000 (10 minutes) Set the maximum amount of time that a connection is allowed to sit idle in the pool. The minimum allowed value is 10000ms (10 seconds)
p6.store.pool.size 10 Set the maximum size that the pool is allowed to reach, including both idle and in-use connections
p6.store.lifetime.max 1800000 (30 minutes) Set the maximum lifetime of a connection in the pool. A value of 0 indicates no maximum lifetime (infinite lifetime), subject of course to the idleTimeout setting
p6.camel.context.message.history.enabled false Enable or disable message history
p6.camel.context.tracing.enabled false Enable or disable tracing
p6.camel.context.breadcrumbs.enabled false Enable or disable breadcrumbs
p6.camel.p6ftpd.keyStore.password Set the keystore password
p6.camel.p6log.LogConsumer.QueueSize 64 Set the queue size
p6.camel.p6log.LogConsumer.limiter.capacity 1 Set the rate limit capacity
p6.camel.p6log.LogConsumer.limiter.duration 5 Set the rate limit duration
p6.camel.async.callback.timeout 10 (minutes) Determines the number of minutes to wait for an asynchronous callback.
p6.job.control.execution.messages.length 1024 Set the number of messages that could be queued
p6.job.control.broadcast.get.response.timeout 10 (minutes) Set the number of minutes to wait for cluster wide GET broadcast request
p6.job.control.broadcast.cancel.response.timeout 30 (secondes) Set the number of seconds to wait for cluster wide CANCEL broadcast request
p6.job.control.workspace.entities.ttl.finished 120000 Set the Time to live for (ms) workspace entities when job is stable and finished
p6.job.control.workspace.entities.ttl.stale 120000 Set the Time to live for (ms) for workspace entities for old jobs
p6.xss.json.ignoredKeys [“mainScript”, “classScripts”, “resources”, “content”, “byteContent”, “xmlStep”, “xmlView”, “scriptSegments”, “query”, “userQueryValue”, “serviceItemsZip”, “entity”, “signature”, “logo”, “schema”, “data”, “secretKey”, “publicKey”, “json”, “xml”, “template”, “javascript”, “text”] Set the list of JSON attribute keys to ensures these attributes will be ignored by the inbound endpoint JSON sanitizer
p6.filter.xss.ignoredHeaders [“message-id”, “subject”] Set the request headers that are NOT checked for XSS vulnerability
p6.dsl.securesocket.identityKeyPassword Set the identity password for the secure socket
p6.platform.appProfile.refresh.timer.period 60 Set the Tile to live for the application profile
p6.service.default.runner.pool.size 2 Set the thread pool size for inbound message delivery
p6.service.default.exclude false Enable or disable the service start
p6.allowed.paths [] Set the extra paths allowed for transaction documents ($P6DATA and $TMP are default values)
p6.service.application.job.wait.duration 700 Set the duration in milliseconds of a wait step inside a job process
p6.service.application.job.wait.extensions [“war”] Set the extensions of resources casing a wait
p6.service.auditing.provider LOG4J Set the name of the audit provider (LOG4J or ELASTICSEARCH)
p6.service.auditing.resource.requests false Enable or disable the JSX-RS resource request auditer
p6.service.counters.metrics.cache.ttl 60000 Set the Time to live for (ms) metrics cache
p6.service.counters.date.format yyyyMMdd’T’HH🇲🇲ss.S z Set the date format
p6.service.counters.date.timezone Set the date timezone (if empty, the default one of the system will be used)
p6.service.tables.batch.size 25000 Set the size of the pagination when doing table data export.
p6.service.scripts.as2.from.domain platform6.io Set the domain used in AS2 envelope MIME headers
p6.service.scripts.runner.pool.size 32 Essential to extend the default(2) size of the cmb queue runner pool for this service
p6.service.views.max.viewable 0 Set the max size uploaded to a browser. (Zero is allow any)
p6.service.views.default.date.format yyyy-MM-dd Set the date format used to read transaction dates.
p6.service.views.default.date.displayFormat.default yyyy-MM-dd HH🇲🇲ss z Set the display date format for transaction dates.
p6.service.views.default.date.displayFormat.locale yyyy-MM-dd HH🇲🇲ss z Optional - Set the display date format for transaction dates for a specific locale.
p6.service.workflowsteps.transaction.lock.acquire.timeout 5000 Set the period to wait for the acquisition of a transaction lock
p6.service.workflowsteps.runner.pool.size 16 Essential to extend the default(2) size of the cmb queue runner pool for this service
p6.service.workflowsteps.datamodel TransactionInfo Set the default transaction datamodel name if none defined on the workflowstep
p6.service.workflowsteps.expiry.status EXPIRED Set the status name when a workflowstep expires
p6.service.workflowsteps.notification.from noreply@platform6.io Set the default sender for workflow notification. This values will be overrided by the docModel if founded
p6.service.workflowsteps.notification.cc Set the default cc for workflow notification. This values will be overrided by the docModel if founded
p6.service.workflowsteps.user.api.limit 500 Maximum number of users to be retrieved on p6auth
p6.service.workflowsteps.xsd.url https://doc.p6.sidetrade.io/latest/reference/built-in-services/workflow/resources/WorkflowStep.xsd Set the XSD validation URL for workflowsteps
p6.service.workflowsteps.assignee.cache.ttl.secs 180 The number of minutes before cached assignees are refreshed
p6.tmp.folder /tmp Set the path where temporary files are stored.
p6.public.config [“p6auth.org.children.limit”] Set the configuration entries to be publicly exposed.

Note

All the entries under p6.service.default.<key> can be overridden using: p6.service.<name>.<key>

Docker

In your docker-compose.yml file you can use environment variables to define some configuration entries

Environment variable Configuration entry
p6auth_client_id p6auth.client.id
p6auth_client_secret p6auth.client.secret
p6core_instance_id instance.id
p6core_tmp_folder p6.tmp.folder
p6core_database_host database.host
p6core_database_port database.port
p6core_database_name database.name
p6core_database_schema database.schema
p6core_database_username database.username
p6core_database_password database.password
p6core_antivirus_engine antivirus.engine
p6core_antivirus_action antivirus.action
p6core_antivirus_clamav_hostname antivirus.clamav.hostname
p6core_antivirus_clamav_port antivirus.clamav.port
p6core_antivirus_clamav_timeout antivirus.clamav.timeout