Skip to main content
Feedback

Container properties

Container properties allow you to define or control various aspects of a container's behavior. The properties listed here are specific to the API Gateway plugin.

Container properties panel showing API Gateway plugin properties

Property NameDescription
com.boomi.container.apigateway.alwaysUpdateConfigDefines which gateway nodes generate API gateway configuration files. This property is set to true by default for all gateways and configuration files are generated by all nodes irrespective of whether they are the head node. The dynamically-generated configuration files include those under <base dir>/apigateway/gateway-settings. If you want only the head node to generate configuration files, set the property to false.
com.boomi.container.apigateway.cipherSuitesAllows you to configure Cipher suites on the API gateway. To set ciphers on the API gateway, go to the Custom tab of the Properties panel and configure the property. When configuring the property, you must mention all the ciphers you want to add.
com.boomi.container.apigateway.enableDatabaseRecoveryAllows the Gateway to detect database corruption during the restart process and perform a recovery. Default Value: true. Refer to Database Recovery for more information.
com.boomi.container.apigateway.enableDatabaseAutoRecoveryEnables periodic health checks and automatic recovery for the H2 database. It monitors for corruption and triggers recovery when detected, eliminating the need for a manual restart. Default Value: false. To enable this feature, you must manually add the property through the API Gateway > Properties > Custom tab in the UI and set it to true. A Gateway restart is required for this change to take effect. Refer to Database Recovery for more information.
com.boomi.container.apigateway.devportal.excludedCipherSuitesTLS ciphers to exclude in a Developer Portal.
com.boomi.container.apigateway.devportal.includedCipherSuitesTLS ciphers to include in a Developer Portal.
com.boomi.container.apigateway.devportal.excludedProtocolsProtocols to exclude in a Developer Portal.
com.boomi.container.apigateway.devportal.includedProtocolsProtocols to include in a Developer Portal.
com.boomi.container.apigateway.metrics.captureQueryParamsAllows you to capture query parameters in metrics. This is false by default, but when enabled, query parameters are appended as-is to the URL as part of the requestUrl field. If the requestURL is is more than 512 characters, it is truncated to 512.
com.boomi.container.apigateway.metrics.maxFileAgeEvent file rollover time. The default is six hours and can be set up to 24 hours.
com.boomi.container.apigateway.metrics.reportNotFoundIf true, captures 404 errors for metrics. False by default.
com.boomi.container.apigateway.healthCheckTimeoutDefines the maximum time the container waits while polling the gateway's health-check endpoint for a successful response during plugin initialization (if the initial startup timeout was exceeded) and during plugin reload. If this timeout is exceeded, the gateway service is considered in an unhealthy and unrecoverable state, and the plugin will restart that service. This property accepts an integer value in milliseconds, and defaults to five minutes.
com.boomi.container.apigateway.jwksprovider.refresh.intervalAllows you to configure the refresh interval when retrieving a JWKS (JSON Web Key Set) for a JWT (JSON Web Token) IDP. This property must be in the format specified here. For example, PT1S = every 1 second and P2D = every 2 days.
com.boomi.container.apigateway.jwksprovider.retry.intervalAllows you to configure the retry interval when retrieving a JWKS (JSON Web Key Set) for a JWT (JSON Web Token) IDP. This property must be in the format specified here. For example, PT1S = every 1 second and P2D = every 2 days
com.boomi.container.apigateway.jwt_duration.minutesDefines how long a Developer Portal login is valid. When the time expires, the user must log in again. If not configured, the default is 1440 minutes (24 hours).
com.boomi.container.apigateway.metrics.maxFileSizeAllows you to configure the maximum size of metrics event files for gateways. 1 GB (1073741824 bytes) by default. The value of this property must be defined in bytes.
com.boomi.container.apigateway.plugin.database.maxWaitDefines the maximum wait time for the database to come up when using synchronous startup. This accepts an integer value in milliseconds, and defaults to five minutes.
com.boomi.container.apigateway.plugin.devportal.maxWaitDefines the maximum wait time for the portal services to come up when using synchronous startup. This accepts an integer value in milliseconds, and defaults to five minutes.
com.boomi.container.apigateway.plugin.gateway.maxWaitDefines the maximum wait time for the gateway to come up when using synchronous startup. This accepts an integer value in milliseconds, and defaults to five minutes.
com.boomi.container.apigateway.plugin.startup.asyncControls how the gateway starts up - asynchronous or synchronous.
com.boomi.container.apigateway.startupTimeoutDefines the maximum time the container waits while polling the gateway's health-check endpoint for a successful response during the plugin initialization. If this timeout is exceeded, the service will poll a second time using the health-check timeout. This property accepts an integer value in milliseconds, and defaults to one minute.
com.boomi.container.apigateway.transitions.enabledAdds logging that helps diagnose 503 communication issues between a gateway and runtime containers. True by default.
com.boomi.container.httpsProtocolsAllows you to configure TLS protocols. TLS 1.0 is turned off by default on all API gateways as it has security vulnerabilities. To turn it on and set supported TLS protocols in the API gateway, go to the Advanced tab of the Properties panel and set the value of the HTTPS Protocols property to TLSv1,TLSv1.1,TLSv1.2. When configuring the property, you must mention all the protocols you want to add.
com.boomi.container.apigateway.healthcheck.trace.enabled Controls whether the system exports API health check traces to the OpenTelemetry observability tool. This property applies only if OTel is enabled. Default Value: false (disabled).
com.boomi.container.apigateway.otel.log.batch.size Defines the number of log records batched together before export. Helps manage performance by controlling batch size during log transmission. This property applies only if OTel is enabled. Default Value: 512.
com.boomi.container.apigateway.otel.log.queue.sizeDefines the maximum number of log records the system can queue in memory at one time. This limit helps the system maintain connection stability and prevent overload when it generates logs faster than it can export them. This property applies only if OTel is enabled. Default Value: 2048.

Database recovery

The Gateway detects database corruption during a restart or a periodic health check and performs recovery based on the following property settings.

note

These custom container properties are not added to the container.properties file by default. They only appear in the file if they are manually configured through API Gateway > Properties > Custom tab. If a property is missing from the file, the Gateway uses the default behavior described below.

  • Database recovery during restart property: com.boomi.container.apigateway.enableDatabaseRecovery
    This property is enabled by default with the value set to true. This property is used to recover the DB file if it gets corrupted by manually restarting the Gateway. You do not need to add this property in the Container Properties section, as it is enabled by default. Add this property only if you want to disable database recovery by setting it to false.
  • Database recovery during DB health check property: com.boomi.container.apigateway.enableDatabaseAutoRecovery
    This property is disabled by default in the container property. To enable periodic health checks and automatic recovery while the Gateway is running, you must manually add this property through the API Gateway > Properties > Custom tab in the UI and set it to true.

If database corruption is detected, the Gateway performs the following tasks:

  1. The old database file is renamed to gravitee.mv.db.YYYY-MM-DD.hh-mm-ss.backup.

  2. A new empty database is created with the name gravitee.mv.db.

  3. The new database is initialized and is configured to match the current schema configuration ( approximately 15-30 seconds).

  4. A DATABASE_RECOVERY message is sent to the Platform in 60 seconds to initiate a full database recovery for the Gateway and Developer Portal.

  5. The Platform starts sending messages in chunks to repopulate the data for the Gateway and Developer Portal database.

  6. After a few minutes, the Gateway is restored to full operational state.

On this Page