in src/main/scala/org/apache/pekko/persistence/dynamodb/package.scala [66:88]
def dynamoClient(system: ActorSystem, settings: DynamoDBConfig): DynamoDBHelper = {
val client =
if (settings.AwsKey.nonEmpty && settings.AwsSecret.nonEmpty) {
val conns = settings.client.config.getMaxConnections
val executor = Executors.newFixedThreadPool(conns)
val creds = new BasicAWSCredentials(settings.AwsKey, settings.AwsSecret)
new AmazonDynamoDBAsyncClient(creds, settings.client.config, executor)
} else {
new AmazonDynamoDBAsyncClient(settings.client.config)
}
client.setEndpoint(settings.Endpoint)
val dispatcher = system.dispatchers.lookup(settings.ClientDispatcher)
class DynamoDBClient(
override val ec: ExecutionContext,
override val dynamoDB: AmazonDynamoDBAsyncClient,
override val settings: DynamoDBConfig,
override val scheduler: Scheduler,
override val log: LoggingAdapter)
extends DynamoDBHelper
new DynamoDBClient(dispatcher, client, settings, system.scheduler, Logging(system, "DynamoDBClient"))
}