Akka · JSON Structure

Akka Config Structure

JSON Schema representing the Akka framework HOCON configuration structure covering actor system, dispatchers, remoting, cluster, persistence, and HTTP settings.

Type: object Properties: 1
Actor ModelDistributed SystemsFrameworksJavaMicroservicesReactiveScala

Akka Configuration is a JSON Structure definition published by Akka, describing 1 property. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

akka

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/akka/refs/heads/main/json-structure/akka-config-structure.json",
  "name": "Akka Configuration",
  "description": "JSON Schema representing the Akka framework HOCON configuration structure covering actor system, dispatchers, remoting, cluster, persistence, and HTTP settings.",
  "type": "object",
  "properties": {
    "akka": {
      "type": "object",
      "properties": {
        "loglevel": {
          "type": "string",
          "description": "Log level for the actor system.",
          "enum": [
            "OFF",
            "ERROR",
            "WARNING",
            "INFO",
            "DEBUG"
          ],
          "default": "INFO"
        },
        "stdout-loglevel": {
          "type": "string",
          "description": "Log level during startup before logging is configured.",
          "default": "WARNING"
        },
        "actor": {
          "type": "object",
          "description": "Actor system configuration.",
          "properties": {
            "provider": {
              "type": "string",
              "description": "Actor provider (local, cluster, or remote).",
              "enum": [
                "local",
                "remote",
                "cluster"
              ],
              "default": "local"
            },
            "default-dispatcher": {
              "type": "object",
              "description": "Default dispatcher configuration.",
              "properties": {
                "type": {
                  "type": "string",
                  "description": "Dispatcher type.",
                  "default": "Dispatcher"
                },
                "executor": {
                  "type": "string",
                  "description": "Executor to use (fork-join-executor or thread-pool-executor).",
                  "default": "fork-join-executor"
                },
                "fork-join-executor": {
                  "type": "object",
                  "properties": {
                    "parallelism-min": {
                      "type": "int32",
                      "default": 8
                    },
                    "parallelism-factor": {
                      "type": "double",
                      "default": 1.0
                    },
                    "parallelism-max": {
                      "type": "int32",
                      "default": 64
                    }
                  },
                  "additionalProperties": true
                },
                "thread-pool-executor": {
                  "type": "object",
                  "properties": {
                    "core-pool-size-min": {
                      "type": "int32",
                      "default": 8
                    },
                    "core-pool-size-factor": {
                      "type": "double",
                      "default": 3.0
                    },
                    "core-pool-size-max": {
                      "type": "int32",
                      "default": 64
                    }
                  },
                  "additionalProperties": true
                },
                "throughput": {
                  "type": "int32",
                  "description": "Messages to process before rescheduling.",
                  "default": 5
                }
              },
              "additionalProperties": true
            },
            "serializers": {
              "type": "object",
              "description": "Named serializer bindings.",
              "additionalProperties": {
                "type": "string"
              }
            },
            "serialization-bindings": {
              "type": "object",
              "description": "Class to serializer mappings.",
              "additionalProperties": {
                "type": "string"
              }
            },
            "allow-java-serialization": {
              "type": "boolean",
              "description": "Allow Java serialization (discouraged in production).",
              "default": false
            }
          },
          "additionalProperties": true
        },
        "remote": {
          "type": "object",
          "description": "Akka Remoting configuration.",
          "properties": {
            "artery": {
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean",
                  "default": true
                },
                "transport": {
                  "type": "string",
                  "description": "Transport protocol.",
                  "enum": [
                    "aeron-udp",
                    "tcp",
                    "tls-tcp"
                  ],
                  "default": "aeron-udp"
                },
                "canonical": {
                  "type": "object",
                  "properties": {
                    "hostname": {
                      "type": "string"
                    },
                    "port": {
                      "type": "int32",
                      "default": 25520
                    }
                  },
                  "additionalProperties": true
                }
              },
              "additionalProperties": true
            }
          },
          "additionalProperties": true
        },
        "cluster": {
          "type": "object",
          "description": "Akka Cluster configuration.",
          "properties": {
            "seed-nodes": {
              "type": "array",
              "description": "List of seed node addresses.",
              "items": {
                "type": "string"
              }
            },
            "downing-provider-class": {
              "type": "string",
              "description": "Split brain resolver provider class."
            },
            "min-nr-of-members": {
              "type": "int32",
              "description": "Minimum number of members before cluster is up.",
              "default": 1
            },
            "roles": {
              "type": "array",
              "description": "Roles for this cluster node.",
              "items": {
                "type": "string"
              }
            },
            "sharding": {
              "type": "object",
              "description": "Cluster Sharding configuration.",
              "properties": {
                "number-of-shards": {
                  "type": "int32",
                  "default": 100
                },
                "state-store-mode": {
                  "type": "string",
                  "enum": [
                    "ddata",
                    "persistence"
                  ],
                  "default": "ddata"
                }
              },
              "additionalProperties": true
            }
          },
          "additionalProperties": true
        },
        "persistence": {
          "type": "object",
          "description": "Akka Persistence configuration.",
          "properties": {
            "journal": {
              "type": "object",
              "properties": {
                "plugin": {
                  "type": "string",
                  "description": "Journal plugin class."
                }
              },
              "additionalProperties": true
            },
            "snapshot-store": {
              "type": "object",
              "properties": {
                "plugin": {
                  "type": "string",
                  "description": "Snapshot store plugin class."
                }
              },
              "additionalProperties": true
            }
          },
          "additionalProperties": true
        },
        "http": {
          "type": "object",
          "description": "Akka HTTP configuration.",
          "properties": {
            "server": {
              "type": "object",
              "properties": {
                "idle-timeout": {
                  "type": "string",
                  "default": "60s"
                },
                "request-timeout": {
                  "type": "string",
                  "default": "20s"
                },
                "max-connections": {
                  "type": "int32",
                  "default": 1024
                },
                "preview": {
                  "type": "object",
                  "properties": {
                    "enable-http2": {
                      "type": "boolean",
                      "default": false
                    }
                  },
                  "additionalProperties": true
                }
              },
              "additionalProperties": true
            },
            "client": {
              "type": "object",
              "properties": {
                "idle-timeout": {
                  "type": "string",
                  "default": "60s"
                },
                "connecting-timeout": {
                  "type": "string",
                  "default": "10s"
                }
              },
              "additionalProperties": true
            }
          },
          "additionalProperties": true
        },
        "management": {
          "type": "object",
          "description": "Akka Management HTTP endpoint configuration.",
          "properties": {
            "http": {
              "type": "object",
              "properties": {
                "hostname": {
                  "type": "string",
                  "default": "0.0.0.0"
                },
                "port": {
                  "type": "int32",
                  "default": 8558
                },
                "base-path": {
                  "type": "string",
                  "description": "Base path prefix for management routes."
                }
              },
              "additionalProperties": true
            },
            "cluster": {
              "type": "object",
              "properties": {
                "bootstrap": {
                  "type": "object",
                  "properties": {
                    "contact-point-discovery": {
                      "type": "object",
                      "properties": {
                        "discovery-method": {
                          "type": "string",
                          "description": "Service discovery method (e.g., kubernetes-api, akka-dns)."
                        },
                        "service-name": {
                          "type": "string"
                        },
                        "required-contact-point-nr": {
                          "type": "int32",
                          "default": 2
                        }
                      },
                      "additionalProperties": true
                    }
                  },
                  "additionalProperties": true
                }
              },
              "additionalProperties": true
            }
          },
          "additionalProperties": true
        }
      },
      "additionalProperties": true
    }
  },
  "additionalProperties": true
}