OpenHub configuration
This page contains description of OpenHub behaviour's configuration. If you want to know configuration model then see External configuration model page.
Core configuration
Asynchronous algorithm configuration
Common recommendations for configuration:
- set email addresses of administrators (ohf.admin.mail) because OpenHub sends notifications to these addresses, for example when
- message processing failed
- if message waits for response from external system for more then defined interval
- set username and password to access different services - parameters security.user.* (security.user.ws-* for web services, security.user.web-* for web, security.user.monitoring-* for monitoring)
- path to log folder (log.folder.path)
All the following parameters (apart from log.folder.path and log.folder.pattern) are saved in database with default values. If you want to override any of these parameters then use approach described in external configuration model.
Parameter | Default value | Description |
ohf.asynch.countPartlyFailsBeforeFailed | 3 | Count of unsuccessful tries of message processing before message will be marked as completely FAILED Time interval between tries is defined by asynch.partlyFailedInterval. |
ohf.asynch.repairRepeatTimeSec | 300 | Max. interval in seconds how long can be message being processed, in other words how long can be in PROCESSING state. If message is still in processing then repair process (org.openhubframework.openhub.core.common.asynch.repair.RepairProcessingMsgRoute) will be started and the message state will be changed to PARTLY_FAILED. This parameter is not only for messages themselves but also for external calls and confirmations. |
ohf.asynch.concurrentConsumers | 30 | Input asynchronous messages are waiting for processing in the priority queue. This parameter determines how many concurrent consumers (=threads) can take message from the queue and start processing. In other words this parameter detemines how many concurrent messages can be processed. For more informacetion se http://camel.apache.org/seda.html, parameter concurrentConsumers |
ohf.asynch.partlyFailedRepeatTimeSec | 60 | How often to run process (org.openhubframework.openhub.core.common.asynch.queue.PartlyFailedMessagesPoolRoute) for pooling PARTLY_FAILED messages (in seconds). This parameter is relevant to asynch.partlyFailedInterval. |
ohf.asynch.partlyFailedIntervalSec | 60 | Interval (in seconds) between two tries of PARTLY_FAILED messages. When this interval expires then can be message be processed again. This parameter is relevant to asynch.partlyFailedRepeatTime. |
ohf.asynch.confirmation.failedLimitSec | 3 | Maximum count of confirmation fails when will finish further processing of confirmation, confirmation fails. |
ohf.asynch.confirmation.repeatTimeSec | 60 | How often to run process (org.openhubframework.openhub.core.common.asynch.confirm.ConfirmationsPoolRoute) for pooling failed confirmations (in seconds) This parameter is relevant to asynch.confirmation.interval. |
ohf.asynch.confirmation.intervalSec | 60 | Interval (in seconds) between two tries of failed confirmations. This parameter is relevant to asynch.confirmation.repeatTime. |
ohf.asynch.externalCall.skipUriPattern | Regular expression that defines URIs which will be ignored by extcall component. Useful when you want to skip communication with an external system. | |
ohf.asynch.postponedIntervalSec | 5 | Interval (in seconds) after that can be postponed message processed again. |
ohf.asynch.postponedIntervalWhenFailedSec | 300 | Interval (in seconds) after that postponed messages will fail. See Guaranteed message processing order functionality for more details. |
ohf.asynch.finalMessages.processingEnabled | false | Final messages processing enabled or disabled. See Final messages handling functionality for more details. Note: cannot be defined in database, needs to be in properties (requires application restart if changes). |
ohf.asynch.finalMessages.processingIntervalSec | 3600 | Final messages processing job interval, in seconds. |
ohf.asynch.finalMessages.iterationMessageLimit | 10000 | Maximum number of final messages processed per job. |
ohf.asynch.finalMessages.ok.saveTimeInSec | 0 | Duration in seconds to keep messages in OK state in the datastore. After this period expires and if there is no other action with the message, it will be processed as final (deleted by default).
|
ohf.asynch.finalMessages.cancel.saveTimeInSec | 2592000 (30d) | Duration in seconds to keep messages in CANCEL state in the datastore. |
ohf.asynch.finalMessages.failed.saveTimeInSec | 2592000 (30d) | Duration in seconds to keep messages in FAILED state in the datastore. |
ohf.asynch.finalMessages.deleteProcessor.enabled | true | Enable/disable processor that does delete messages Note: to enable this processor then also the whole processing job must be enabled - see ohf.asynch.finalMessages.processingEnabled |
Web console configuration
Parameter | Default value | Description |
ohf.admin.console.messages.limit | 100 | Maximum count of messages which can be displayed in filtering. |
ohf.admin.console.session-concurrency.limit | 2 | Maximum count of concurrent user sessions at one moment. |
Miscellaneous configuration
Parameter | Default value | Description |
ohf.cluster.actualNodeInstance.code | LocalNode | Property which identifies node in cluster environment. This property is used for example by logging platform to mark log event with stamp of specific cluster node and for binding with database node record. |
ohf.mail.admin.enabled | false | True for enabling sending emails to administrators. |
ohf.mail.admin | Administrator email(s) If more emails, then separated them with semicolon if empty then email won't be sent. | |
ohf.mail.from | OpenHub framework <openhub@openwise.cz> | Email address FROM for sending emails |
ohf.mail.smtp.server | localhost | SMTP server for sending emails |
ohf.dir.temp | Directory for storing temporary files, related to file upload component. | |
ohf.dir.fileRepository | File repository directory where files will be stored, related to file upload component. | |
ohf.server.localhostUri.check | false | Enable/disable checking of ohf.server.localhostUri |
ohf.server.localhostUri | http://localhost:8080 | URI of this localhost application, including port number. Related to cluster nodes evidence. If ohf.server.localhostUri.check=true then this URI is checked during OpenHub initialization. |
ohf.disable.throttling | false | True for disabling throttling at all. See throttling component. |
ohf.endpoints.includePattern | ^(spring-ws|servlet).*$ | Pattern for filtering endpoints URI - only whose URIs will match specified pattern will be returned, related to endpoints overview. |
ohf.requestSaving.enable | false | True for enabling saving requests/responses for filtered endpoints URI. |
ohf.requestSaving.endpointFilter | ^(spring-ws|servlet).*$ | Pattern for filtering endpoints URI which requests/response should be saved. |
ohf.alerts.repeatTimeSec | 300 | How often to run checking of alerts (in seconds) |
log.folder.path | ${log.folder}, value is from Maven profile | Path to folder with application logs, used in logs searching in admin GUI. |
log.file.pattern | (^.*\\.log$|^.*\\.log\\.2\\d{3}-(0[1-9]|1[0-9])-[0|1|2|3]\\d?_\\d*\\.gz$) | Defines format of log file names (include filter) which will be taking into logs searching in admin GUI. |
ohf.uri.inputPattern | ^(spring-ws|servlet).*$ | Pattern for filtering input routes (used in Stopping mode) |
Throttling
Throttling functionality is implemented by throttling component where you find description of the configuration.
Alerts
See alerts for description.
Restrict Spring bean inicialization
If there are many Spring beans with route definitions then startup time for loading ESB application can be quite long. This functionality enables to include only those Spring beans which should be initialized or exclude those Spring beans which we don't want to initialize.
It can be handy during development because it's possible via system properties to restrict set of Spring beans (=Camel routes) which will be initialized.
There are two handy classes for these purposes: org.openhubframework.openhub.common.spring.SystemIncludeRegexPatternTypeFilter and org.openhubframework.openhub.common.spring.SystemExcludeRegexPatternTypeFilter
Both type filters are handled by system or environment property. springIncludePattern for SystemIncludeRegexPatternTypeFilter class, springExcludePattern for SystemExcludeRegexPatternTypeFilter class. System property has higher priority.
Example of system property definition for exclude filter (excludes all Spring beans under org.openhubframework.openhub.modules package and sub-packages):
-DspringExcludePattern=org\.openhubframework\.openhub\.modules\..*
Include filters are applied after exclude filters.
Configuration checking
Configuration checker (org.openhubframework.openhub.core.conf.ConfigurationChecker) enables to check selected configuration parameters during application start:
- ohf.server.localhostUri - checks URI availability (must be explicitly enabled by parameter ohf.server.localhostUri.check, default value is false)
- ohf.endpoints.includePattern, ohf.requestSaving.endpointFilter - checks regular expressions
You can implement your own checking functionality by org.openhubframework.openhub.core.conf.ConfCheck.