Skip to main content

Tamaki MES Properties

This page consolidates all Spring configuration properties for Tamaki MES services.

Hibernate

PropertyDefaultDescription
hibernate.jdbc.batch_size50Number of statements Hibernate will batch per roundtrip to the database. Increase to reduce network roundtrips; ensure your JDBC driver and DB support batching.

Notes

  • Tuning: Start at 50–100. Validate with database metrics and profiling.
  • Constraints: Consider triggers/sequences that may affect batching semantics.

Transaction

PropertyDefaultDescription
transaction.retry.max_attempts3Maximum retry attempts for transient transactional failures.
transaction.retry.backoff_delay_ms500Backoff delay between retries (milliseconds).
transaction.retry.backoff_delay_multiplier2Multiplier applied to the previous delay for exponential backoff.

Notes

Effective delay sequence is backoff_delay_ms * multiplier^(attempt-1) until max attempts.

Import

PropertyDefaultDescription
import.batch_size1000Number of records committed per batch when importing data (materials, equipment, OEE configs, etc.).
import.batch_flush_delay_ms5000Delay between batch flushes during import (milliseconds) to throttle database load on large imports.

Cache

PropertyDefaultDescription
cache.default_expiry_ms600000Time to live for cache entries in milliseconds.
cache.max_heap_entries10000Maximum number of entries in cache per entity type.
cache.max_disk_size_mb100Maximum size of overflow disk cache in megabytes.
cache.disk_persistence_pathtamakimes/cachePath to location of disk cache.

Inventory

PropertyDefaultDescription
inventory.data_collection.execution_interval_ms250Interval between inventory data collection executions (milliseconds).

Notes

  • Align with PLC tag update rates to avoid stale reads.

OEE

PropertyDefaultDescription
oee.data_collection.execution_interval_ms250Interval between OEE data collection executions (milliseconds).
oee.data_collection.flush_check_interval_ms10000Frequency to check whether buffered OEE data should be flushed to the database (milliseconds).
oee.data_collection.prune_records_cron0 0 0 * * ?Cron expression for pruning old OEE records. Uses Spring Cron Format. The default value is Daily at Midnight.
oee.data_collection.logs.throttling.threshold10The maximum number of errors to show within the throttling window before suppressing them.
oee.data_collection.logs.throttling.window_ms5000The logs throttling window (milliseconds). Duplicate logs inside this window will be suppressed.
oee.alarms.alarm_flush_interval_ms10000Interval between OEE alarm flush operations (milliseconds).
oee.pruning.batch_size1000Number of OEE records deleted per pruning batch.
oee.pruning.batch_delay_ms500Delay between pruning batches to reduce DB load (milliseconds).
oee.heal.faulted_records.enabledtrueEnables the scheduled job that repairs faulted OEE state, mode, and OEE records.
oee.heal.faulted_records.cron0 0 0 * * ?Cron expression for the faulted-record healing job. Uses Spring Cron Format. The default value is Daily at Midnight.
oee.heal.faulted_records.batch_size200Number of faulted record IDs fetched per location, per record type, per healing batch.
oee.heal.faulted_records.max_per_run1000Soft cap on the number of records healed per record type (state/mode/OEE) per scheduled run.
oee.heal.faulted_records.parallelism4Number of locations healed in parallel during a single healing run.

Notes

  • Execution Interval

    • Lower → collects data more frequently, more CPU/memory use.
    • Higher → collects data less frequently, less CPU/memory use, risk of missing short-lived events.
  • Flush Check Interval

    • Lower → more DB writes.
    • Higher → fewer DB writes, higher crash-loss risk.
  • Flush Check Interval needs to be larger than Execution Interval

  • Mismatch causes wasted flushes (too frequent) or buffer growth (too slow).

Operation

PropertyDefaultDescription
operation.data_collection.execution_interval_ms250Interval between operation data collection executions (milliseconds).

Shift

PropertyDefaultDescription
shift.data_collection.expression_schedule_evaluation_interval_ms500Interval for evaluating expression-based shift schedules (milliseconds).
shift.data_collection.ignition_schedule_evaluation_interval_ms10000Interval for evaluating Ignition-bound shift schedules (milliseconds).

Expression

PropertyDefaultDescription
expression.health_check.min_batch_size5Minimum number of expressions evaluated per health check cycle.
expression.health_check.scan_interval_ms3000Interval between expression health check scans (milliseconds).
expression.health_check.max_log_expressions10Max number of expressions logged when anomalies are detected.
expression.logs.throttling.window_ms5000The logs throttling window (milliseconds). Duplicate logs inside this window will be suppressed.

Tracegraph

PropertyDefaultDescription
tracegraph.max_nodes10000Maximum number of nodes visited during a trace to prevent runaway traversal.
tracegraph.max_depth100Maximum traversal depth for trace graph operations.

Additional Logging

PropertyDefaultDescription
logs.diagnosticstrueWhether or not to enable additional diagnostic logging.
PropertyDefaultDescription
tree.search.max_results1000Maximum number of nodes returned by tree search components (Material, Location, Personnel, Downtime Reason, etc.).