Class StateProviderMetaData

java.lang.Object
com.kingsrook.qqq.backend.core.state.StateProviderMetaData
All Implemented Interfaces:
MetaDataProducerOutput, QMetaDataObject, QSupplementalInstanceMetaData, TopLevelMetaDataInterface, Serializable

public class StateProviderMetaData extends Object implements QSupplementalInstanceMetaData
Where process and async job state lives (spec 2026-10-15-cluster-ha-design, section B). Without this supplemental meta data (or with neither a provider nor a table), state is in memory on each node, as before. With tableName, the built-in TableStateProvider shares state through that table, so any node can serve any process step, status poll or cancel.
See Also:
  • Field Details

  • Constructor Details

    • StateProviderMetaData

      public StateProviderMetaData()
  • Method Details

    • of

      public static StateProviderMetaData of(QInstance instance)
      The instance's state meta data, or null when none is configured.
    • isShared

      public boolean isShared()
      Whether the instance shares state across nodes.
    • getName

      public String getName()
      Supplemental meta data name.
      Specified by:
      getName in interface TopLevelMetaDataInterface
    • validate

      public void validate(QInstance instance, QInstanceValidator validator)
      Validate: a configured table must exist; limits must be positive.
      Specified by:
      validate in interface QSupplementalInstanceMetaData
    • getProviderCode

      public QCodeReference getProviderCode()
      Getter for providerCode
    • setProviderCode

      public void setProviderCode(QCodeReference providerCode)
      Setter for providerCode
    • withProviderCode

      public StateProviderMetaData withProviderCode(QCodeReference providerCode)
      Fluent setter for providerCode
    • getTableName

      public String getTableName()
      Getter for tableName
    • setTableName

      public void setTableName(String tableName)
      Setter for tableName
    • withTableName

      public StateProviderMetaData withTableName(String tableName)
      Fluent setter for tableName
    • getTtlHours

      public Integer getTtlHours()
      Getter for ttlHours
    • setTtlHours

      public void setTtlHours(Integer ttlHours)
      Setter for ttlHours
    • withTtlHours

      public StateProviderMetaData withTtlHours(Integer ttlHours)
      Fluent setter for ttlHours
    • getEncryptionKey

      public String getEncryptionKey()
      Getter for encryptionKey
    • setEncryptionKey

      public void setEncryptionKey(String encryptionKey)
      Setter for encryptionKey
    • withEncryptionKey

      public StateProviderMetaData withEncryptionKey(String encryptionKey)
      Fluent setter for encryptionKey
    • getAllowedClassPrefixes

      public List<String> getAllowedClassPrefixes()
      Getter for allowedClassPrefixes
    • setAllowedClassPrefixes

      public void setAllowedClassPrefixes(List<String> allowedClassPrefixes)
      Setter for allowedClassPrefixes
    • withAllowedClassPrefixes

      public StateProviderMetaData withAllowedClassPrefixes(List<String> allowedClassPrefixes)
      Fluent setter for allowedClassPrefixes
    • getProgressWriteIntervalMillis

      public Integer getProgressWriteIntervalMillis()
      Getter for progressWriteIntervalMillis
    • setProgressWriteIntervalMillis

      public void setProgressWriteIntervalMillis(Integer progressWriteIntervalMillis)
      Setter for progressWriteIntervalMillis
    • withProgressWriteIntervalMillis

      public StateProviderMetaData withProgressWriteIntervalMillis(Integer progressWriteIntervalMillis)
      Fluent setter for progressWriteIntervalMillis
    • getHeartbeatSeconds

      public Integer getHeartbeatSeconds()
      Getter for heartbeatSeconds
    • setHeartbeatSeconds

      public void setHeartbeatSeconds(Integer heartbeatSeconds)
      Setter for heartbeatSeconds
    • withHeartbeatSeconds

      public StateProviderMetaData withHeartbeatSeconds(Integer heartbeatSeconds)
      Fluent setter for heartbeatSeconds
    • getLostAfterSeconds

      public Integer getLostAfterSeconds()
      Getter for lostAfterSeconds
    • setLostAfterSeconds

      public void setLostAfterSeconds(Integer lostAfterSeconds)
      Setter for lostAfterSeconds
    • withLostAfterSeconds

      public StateProviderMetaData withLostAfterSeconds(Integer lostAfterSeconds)
      Fluent setter for lostAfterSeconds
    • getCleanIntervalMinutes

      public Integer getCleanIntervalMinutes()
      Getter for cleanIntervalMinutes
    • setCleanIntervalMinutes

      public void setCleanIntervalMinutes(Integer cleanIntervalMinutes)
      Setter for cleanIntervalMinutes
    • withCleanIntervalMinutes

      public StateProviderMetaData withCleanIntervalMinutes(Integer cleanIntervalMinutes)
      Fluent setter for cleanIntervalMinutes
    • getRequireEncryption

      public Boolean getRequireEncryption()
      Getter for requireEncryption
    • setRequireEncryption

      public void setRequireEncryption(Boolean requireEncryption)
      Setter for requireEncryption
    • withRequireEncryption

      public StateProviderMetaData withRequireEncryption(Boolean requireEncryption)
      Fluent setter for requireEncryption