Protected
Protected

Configuration


Configure Akka through akka.conf


The configuration file resides in the ‘$AKKA_HOME/config’ directory and is named ‘akka.conf’. It imports the reference configuration ‘$AKKA_HOME/config/akka-reference.conf’, but you can override any option you want. Just copy the configuration over to ‘akka.conf’ and edit it as you please.

You can set the config by either:
  • Specifying 'AKKA_HOME'. Then the config will be taken from 'AKKA_HOME/config/akka.conf'.
  • Specifying the '-Dakka.config.file=./config/akka.conf' option.
  • Specifying the '-Dakka.home' option
  • Putting it on the classpath

If you wish you can choose to *not* specify either 'AKKA_HOME' or the path to the 'akka.conf' configuration file. Then defaults will be used.

Here is a full example of all its options.
####################
# Akka Config File #
####################
 
# This file has all the default settings, so all these could be removed with no visible effect.
# Modify as needed.
 
log {
  filename = "./logs/akka.log"
  roll = "daily"  # Options: never, hourly, daily, sunday/monday/...
  level = "debug" # Options: fatal, critical, error, warning, info, debug, trace
  console = on
  # syslog_host = ""
  # syslog_server_name = ""
 
  akka {
    node = "se.scalablesolutions.akka"
    level = "info"
  }
}
 
akka {
  version = "0.10"
 
  # FQN (Fully Qualified Name) to the class doing initial active object/actor
  # supervisor bootstrap, should be defined in default constructor
  boot = ["sample.camel.Boot",
          "sample.rest.java.Boot",
          "sample.rest.scala.Boot",
          "sample.security.Boot"]
 
  actor {
    timeout = 5000           # default timeout for future based invocations
    serialize-messages = off # does a deep clone of (non-primitive) messages to ensure immutability
    throughput = 5           # default throughput for ExecutorBasedEventDrivenDispatcher
  }
 
  stm {
    fair = on                # should global transactions be fair or non-fair (non fair yield better performance)
    jta-aware = off          # 'on' means that if there JTA Transaction Manager available then the STM will
                             # begin (or join), commit or rollback the JTA transaction. Default is 'off'.
  }
 
  jta {
    provider = "from-jndi"   # Options: "from-jndi" (means that Akka will try to detect a TransactionManager in the JNDI)
                             #          "atomikos" (means that Akka will use the Atomikos based JTA impl in 'akka-jta',
                             #          e.g. you need the akka-jta JARs on classpath).
    timeout = 60000
  }
 
  rest {
    service = on
    hostname = "localhost"
    port = 9998
    filters = ["se.scalablesolutions.akka.security.AkkaSecurityFilterFactory"] # List with all jersey filters to use
    resource_packages = ["sample.rest.scala","sample.rest.java","sample.security"] # List with all resource packages for your Jersey services
    authenticator = "sample.security.BasicAuthenticationService" # The authentication service to use. Need to be overridden (uses sample now)
 
    #IF you are using a KerberosAuthenticationActor
    #   kerberos {
    #     servicePrincipal = "HTTP/[email protected]"
    #     keyTabLocation   = "URL to keytab"
    #     kerberosDebug    = "true"
    #     realm            = "EXAMPLE.COM"
    #   }
  }
 
  remote {
    compression-scheme = "zlib" # Options: "zlib" (lzf to come), leave out for no compression
    zlib-compression-level = 6  # Options: 0-9 (1 being fastest and 9 being the most compressed), default is 6
 
    cluster {
      service = on
      name = "default"                                                        # The name of the cluster
      serializer = "se.scalablesolutions.akka.serialization.Serializer$Java$" # FQN of the serializer class
    }
 
    server {
      service = on
      hostname = "localhost"
      port = 9999
      connection-timeout = 1000 # in millis (1 sec default)
    }
 
    client {
      reconnect-delay = 5000    # in millis (5 sec default)
      read-timeout = 10000      # in millis (10 sec default)
    }
  }
 
  storage {
    cassandra {
      hostname = "127.0.0.1"        # IP address or hostname of one of the Cassandra cluster's seeds
      port = 9160
      consistency-level = "QUORUM"  # Options: ZERO, ONE, QUORUM, DCQUORUM, DCQUORUMSYNC, ALL, ANY
    }
 
    mongodb {
      hostname = "127.0.0.1"        # IP address or hostname of the MongoDB DB instance
      port = 27017
      dbname = "mydb"
    }
 
    redis {
      hostname = "127.0.0.1"        # IP address or hostname of the Redis instance
      port = 6379
    }
  }
}
Home
close
Loading...
Home Turn Off "Getting Started"
close
Loading...