Class DurableConfig

java.lang.Object
software.amazon.lambda.durable.DurableConfig

public final class DurableConfig extends Object
Configuration for DurableHandler initialization. This class provides a builder pattern for configuring SDK components including LambdaClient, SerDes, and ExecutorService.

Configuration is initialized once during Lambda cold start and remains immutable throughout the execution lifecycle.

Example usage with default settings:


 @Override
 protected DurableConfig createConfiguration() {
     return DurableConfig.builder()
         .withDurableExecutionClient(customClient)
         .withSerDes(customSerDes)
         .build();
 }
 

Example usage with custom Lambda client:


 @Override
 protected DurableConfig createConfiguration() {
     LambdaClient lambdaClient = LambdaClient.builder()
         .region(Region.US_WEST_2)
         .credentialsProvider(ProfileCredentialsProvider.create("my-profile"))
         .build();

     return DurableConfig.builder()
         .withLambdaClient(lambdaClient)
         .build();
 }
 
  • Method Details

    • defaultConfig

      public static DurableConfig defaultConfig()
      Creates a DurableConfig with default settings. Uses default DurableExecutionClient and JacksonSerDes.
      Returns:
      DurableConfig with default configuration
    • builder

      public static DurableConfig.Builder builder()
      Creates a new builder for DurableConfig.
      Returns:
      Builder instance
    • getDurableExecutionClient

      public DurableExecutionClient getDurableExecutionClient()
      Gets the configured DurableExecutionClient.
      Returns:
      DurableExecutionClient instance
    • getSerDes

      public SerDes getSerDes()
      Gets the configured SerDes.
      Returns:
      SerDes instance
    • getExecutorService

      public ExecutorService getExecutorService()
      Gets the configured ExecutorService.
      Returns:
      ExecutorService instance (never null)
    • getLoggerConfig

      public LoggerConfig getLoggerConfig()
      Gets the configured LoggerConfig.
      Returns:
      LoggerConfig instance (never null)
    • getPollingStrategy

      public PollingStrategy getPollingStrategy()
      Gets the polling strategy.
      Returns:
      PollingStrategy instance (never null)
    • getCheckpointDelay

      public Duration getCheckpointDelay()
      Gets the configured checkpoint delay.
      Returns:
      check point in Duration.