|spring.profiles.active | - | String | There are two profiles available as eureka and k8s. You can choose one of them based on the deployment environment. |spring.application.name | - | String | The name of the agent application. |server.port | 8080 | int | The port of the agent service. 4+| NOTE: Due to StackSaga Cassandra-Agent internally uses spring primary-datasource, It can be configured in the same way that spring boot provides.
The prefix is spring.cassandra
Example: spring.cassandra.keyspace-name=order_service_event_store.
To configure the cassandra database, it is recommended to configure by providing a separate configuration(.conf) file in file like below.
spring.cassandra.config=classpath:stacksaga-cassandra.conf |stacksaga.agent.cassandra.target-service | - | String | The host name of the target orchestrator service. |stacksaga.agent.cassandra.target-service-host | - | String | The host name that target service can be reached. (It can be a host in the PVC or another external one) (The transactions are fetched based on this name from the event-store) |stacksaga.agent.cassandra.act-leader-as-follower | true | boolean | Whether the leader service acts as the follower or not. If the cluster is small, you can run one instance and run as the leader and as well as the follower.

4+| Communication Thread-Pool: It is responsible for communicating with other services for sharing the transactions to the target orchestrator services.

|stacksaga.agent.cassandra.thread-pool.communication.core-size | available processors * 5 | int | core number of threads in the communication pool. |stacksaga.agent.cassandra.thread-pool.communication.max-size | available processors * 50 | int | maximum number of threads in the communication pool. |stacksaga.agent.cassandra.thread-pool.communication.allow-core-thread-timeout | true | Boolean | Whether core threads are allowed to time out. This enables dynamic growing and shrinking of the communication pool. |stacksaga.agent.cassandra.thread-pool.communication.queue-capacity | Integer.MAX_VALUE | int | Queue capacity. An unbounded capacity does not increase the pool and therefore ignores the "max-size" property. |stacksaga.agent.cassandra.thread-pool.communication.keep-alive | 60 seconds | Duration | Time limit for which threads may remain idle before being terminated.

4+| Recovery Thread-Pool: It is responsible for processing the transactions that should be recovered.

|stacksaga.agent.cassandra.thread-pool.recovery.size | available processors * 5 | int | core number of threads in the communication pool. |stacksaga.agent.cassandra.thread-pool.recovery.allow-core-thread-timeout | true | Boolean | Whether core threads are allowed to time out. This enables dynamic growing and shrinking of the communication pool. |stacksaga.agent.cassandra.thread-pool.recovery.queue-capacity | Integer.MAX_VALUE | int | Queue capacity. An unbounded capacity does not increase the pool and therefore ignores the "max-size" property. |stacksaga.agent.cassandra.thread-pool.recovery.keep-alive | 60 seconds | Duration | Time limit for which threads may remain idle before being terminated. |stacksaga.agent.cassandra.recovery.batch-size | 1000 | int | how much data should be fetched from the database per time for recovering as a bulk. |stacksaga.agent.cassandra.recovery.delay-in-minutes | 30 | int | how often the recovery task should be executed.

4+| Retry Thread-Pool: It is responsible for processing the transactions that should be retried.

|stacksaga.agent.cassandra.thread-pool.retry.size | available processors * 5 | int | core number of threads in the communication pool. |stacksaga.agent.cassandra.thread-pool.retry.allow-core-thread-timeout | true | Boolean | Whether core threads are allowed to time out. This enables dynamic growing and shrinking of the communication pool. |stacksaga.agent.cassandra.thread-pool.retry.queue-capacity | Integer.MAX_VALUE | int | Queue capacity. An unbounded capacity does not increase the pool and therefore ignores the "max-size" property. |stacksaga.agent.cassandra.thread-pool.retry.keep-alive | 60 seconds | Duration | Time limit for which threads may remain idle before being terminated. |stacksaga.agent.cassandra.retry.batch-size | 1000 | int | how much data should be fetched from the database per time for retrying as a bulk. |stacksaga.agent.cassandra.retry.delay-in-minutes | 2 | int | how often the retry task should be executed.