2011-11-15 11:34:39 +01:00
|
|
|
#####################################
|
|
|
|
|
# Akka Remote Reference Config File #
|
|
|
|
|
#####################################
|
|
|
|
|
|
2012-02-21 14:39:08 -06:00
|
|
|
# This is the reference config file that contains all the default settings.
|
2011-12-14 15:12:40 +01:00
|
|
|
# Make your edits/overrides in your application.conf.
|
2011-11-15 11:34:39 +01:00
|
|
|
|
2012-02-21 14:51:43 -06:00
|
|
|
# comments about akka.actor settings left out where they are already in akka-
|
2012-02-07 15:51:41 +01:00
|
|
|
# actor.jar, because otherwise they would be repeated in config rendering.
|
|
|
|
|
|
2011-11-15 11:34:39 +01:00
|
|
|
akka {
|
|
|
|
|
|
2011-12-12 23:31:15 +01:00
|
|
|
actor {
|
|
|
|
|
|
2012-02-06 21:12:26 +01:00
|
|
|
serializers {
|
|
|
|
|
proto = "akka.serialization.ProtobufSerializer"
|
2012-05-15 09:40:13 +02:00
|
|
|
daemon-create = "akka.serialization.DaemonMsgCreateSerializer"
|
2012-02-06 21:12:26 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
serialization-bindings {
|
2012-02-07 15:11:16 +01:00
|
|
|
# Since com.google.protobuf.Message does not extend Serializable but GeneratedMessage
|
|
|
|
|
# does, need to use the more specific one here in order to avoid ambiguity
|
|
|
|
|
"com.google.protobuf.GeneratedMessage" = proto
|
2012-05-15 09:40:13 +02:00
|
|
|
"akka.remote.DaemonMsgCreate" = daemon-create
|
2012-02-06 21:12:26 +01:00
|
|
|
}
|
|
|
|
|
|
2011-12-12 23:31:15 +01:00
|
|
|
deployment {
|
|
|
|
|
|
|
|
|
|
default {
|
|
|
|
|
|
2011-12-15 14:26:17 +01:00
|
|
|
# if this is set to a valid remote address, the named actor will be deployed
|
|
|
|
|
# at that node e.g. "akka://sys@host:port"
|
2011-12-14 15:12:40 +01:00
|
|
|
remote = ""
|
2011-12-12 23:31:15 +01:00
|
|
|
|
2012-01-17 08:44:46 +01:00
|
|
|
target {
|
2011-12-14 15:12:40 +01:00
|
|
|
|
2011-12-15 14:26:17 +01:00
|
|
|
# A list of hostnames and ports for instantiating the children of a
|
|
|
|
|
# non-direct router
|
2011-12-14 15:12:40 +01:00
|
|
|
# The format should be on "akka://sys@host:port", where:
|
|
|
|
|
# - sys is the remote actor system name
|
2011-12-15 14:26:17 +01:00
|
|
|
# - hostname can be either hostname or IP address the remote actor
|
|
|
|
|
# should connect to
|
2011-12-14 15:12:40 +01:00
|
|
|
# - port should be the port for the remote server on the other node
|
2011-12-15 14:26:17 +01:00
|
|
|
# The number of actor instances to be spawned is still taken from the
|
|
|
|
|
# nr-of-instances setting as for local routers; the instances will be
|
|
|
|
|
# distributed round-robin among the given nodes.
|
2011-12-14 15:12:40 +01:00
|
|
|
nodes = []
|
|
|
|
|
|
2011-12-12 23:31:15 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2011-11-15 11:34:39 +01:00
|
|
|
remote {
|
2011-12-30 17:24:23 +01:00
|
|
|
|
2012-01-20 14:29:50 +01:00
|
|
|
# Which implementation of akka.remote.RemoteTransport to use
|
2011-12-30 17:24:23 +01:00
|
|
|
# default is a TCP-based remote transport based on Netty
|
2012-01-20 14:29:50 +01:00
|
|
|
transport = "akka.remote.netty.NettyRemoteTransport"
|
2011-11-25 12:02:25 +01:00
|
|
|
|
2012-05-22 12:08:49 +02:00
|
|
|
# Enable untrusted mode for full security of server managed actors, prevents system messages to be send
|
|
|
|
|
# by clients, e.g. messages like 'Create', 'Suspend', 'Resume', 'Terminate', 'Supervise', 'Link' etc.
|
2012-01-20 14:29:50 +01:00
|
|
|
untrusted-mode = off
|
2011-11-15 11:34:39 +01:00
|
|
|
|
2012-02-21 14:51:43 -06:00
|
|
|
# Timeout for ACK of cluster operations, like checking actor out etc.
|
2011-12-14 15:12:40 +01:00
|
|
|
remote-daemon-ack-timeout = 30s
|
2011-11-15 11:34:39 +01:00
|
|
|
|
2012-01-21 00:32:37 +01:00
|
|
|
# If this is "on", Akka will log all inbound messages at DEBUG level, if off then they are not logged
|
|
|
|
|
log-received-messages = off
|
|
|
|
|
|
|
|
|
|
# If this is "on", Akka will log all outbound messages at DEBUG level, if off then they are not logged
|
|
|
|
|
log-sent-messages = off
|
|
|
|
|
|
2012-06-28 10:44:23 +02:00
|
|
|
# If this is "on", Akka will log all RemoteLifeCycleEvents at the level defined for each, if off then they are not logged
|
|
|
|
|
log-remote-lifecycle-events = off
|
|
|
|
|
|
2012-01-30 11:48:02 +01:00
|
|
|
# Each property is annotated with (I) or (O) or (I&O), where I stands for “inbound” and O for “outbound” connections.
|
2012-01-20 14:29:50 +01:00
|
|
|
# The NettyRemoteTransport always starts the server role to allow inbound connections, and it starts
|
|
|
|
|
# active client connections whenever sending to a destination which is not yet connected; if configured
|
|
|
|
|
# it reuses inbound connections for replies, which is called a passive client connection (i.e. from server
|
|
|
|
|
# to client).
|
|
|
|
|
netty {
|
2012-01-30 19:57:05 +01:00
|
|
|
|
2012-02-21 14:51:43 -06:00
|
|
|
# (O) In case of increased latency / overflow how long should we wait (blocking the sender)
|
|
|
|
|
# until we deem the send to be cancelled?
|
2012-01-20 14:29:50 +01:00
|
|
|
# 0 means "never backoff", any positive number will indicate time to block at most.
|
|
|
|
|
backoff-timeout = 0ms
|
2012-01-30 19:57:05 +01:00
|
|
|
|
2012-01-30 11:48:02 +01:00
|
|
|
# (I&O) Generate your own with '$AKKA_HOME/scripts/generate_config_with_secure_cookie.sh'
|
2012-02-21 14:51:43 -06:00
|
|
|
# or using 'akka.util.Crypt.generateSecureCookie'
|
2012-01-20 14:29:50 +01:00
|
|
|
secure-cookie = ""
|
2012-01-30 19:57:05 +01:00
|
|
|
|
2012-02-21 14:51:43 -06:00
|
|
|
# (I) Should the remote server require that its peers share the same secure-cookie
|
2012-01-20 14:29:50 +01:00
|
|
|
# (defined in the 'remote' section)?
|
|
|
|
|
require-cookie = off
|
|
|
|
|
|
2012-01-30 11:48:02 +01:00
|
|
|
# (I) Reuse inbound connections for outbound messages
|
2012-01-20 14:29:50 +01:00
|
|
|
use-passive-connections = on
|
2012-01-30 19:57:05 +01:00
|
|
|
|
2012-04-27 01:10:20 +02:00
|
|
|
# (I) EXPERIMENTAL If "<id.of.dispatcher>" then the specified dispatcher will be used to accept inbound connections,
|
|
|
|
|
# and perform IO. If "" then dedicated threads will be used.
|
|
|
|
|
use-dispatcher-for-io = ""
|
2012-04-25 10:41:16 +02:00
|
|
|
|
2012-01-30 11:48:02 +01:00
|
|
|
# (I) The hostname or ip to bind the remoting to,
|
2012-01-20 14:29:50 +01:00
|
|
|
# InetAddress.getLocalHost.getHostAddress is used if empty
|
|
|
|
|
hostname = ""
|
|
|
|
|
|
2012-01-30 11:48:02 +01:00
|
|
|
# (I) The default remote server port clients should connect to.
|
2012-01-20 14:29:50 +01:00
|
|
|
# Default is 2552 (AKKA), use 0 if you want a random available port
|
|
|
|
|
port = 2552
|
|
|
|
|
|
2012-02-18 17:39:20 +01:00
|
|
|
# (O) The address of a local network interface (IP Address) to bind to when creating
|
|
|
|
|
# outbound connections. Set to "" or "auto" for automatic selection of local address.
|
|
|
|
|
outbound-local-address = "auto"
|
|
|
|
|
|
2012-01-30 11:48:02 +01:00
|
|
|
# (I&O) Increase this if you want to be able to send messages with large payloads
|
2012-01-20 14:29:50 +01:00
|
|
|
message-frame-size = 1 MiB
|
|
|
|
|
|
2012-08-06 11:31:34 +02:00
|
|
|
# (O) Sets the connectTimeoutMillis of all outbound connections,
|
|
|
|
|
# i.e. how long a connect may take until it is timed out
|
2012-01-20 14:29:50 +01:00
|
|
|
connection-timeout = 120s
|
2011-11-15 11:34:39 +01:00
|
|
|
|
2012-01-30 11:48:02 +01:00
|
|
|
# (I) Sets the size of the connection backlog
|
2012-01-20 14:29:50 +01:00
|
|
|
backlog = 4096
|
|
|
|
|
|
2012-01-30 11:48:02 +01:00
|
|
|
# (I) Length in akka.time-unit how long core threads will be kept alive if idling
|
2012-01-20 14:29:50 +01:00
|
|
|
execution-pool-keepalive = 60s
|
|
|
|
|
|
2012-06-20 15:59:52 +02:00
|
|
|
# (I) Size in number of threads of the core pool of the remote execution unit.
|
|
|
|
|
# A value of 0 will turn this off, which is can lead to deadlocks under some configurations!
|
2012-01-20 14:29:50 +01:00
|
|
|
execution-pool-size = 4
|
|
|
|
|
|
2012-01-30 11:48:02 +01:00
|
|
|
# (I) Maximum channel size, 0 for off
|
2012-01-20 14:29:50 +01:00
|
|
|
max-channel-memory-size = 0b
|
|
|
|
|
|
2012-01-30 11:48:02 +01:00
|
|
|
# (I) Maximum total size of all channels, 0 for off
|
2012-01-20 14:29:50 +01:00
|
|
|
max-total-memory-size = 0b
|
|
|
|
|
|
2012-06-01 21:29:47 +02:00
|
|
|
# (I&O) Sets the high water mark for the in and outbound sockets, set to 0b for platform default
|
|
|
|
|
write-buffer-high-water-mark = 0b
|
|
|
|
|
|
2012-06-01 21:47:14 +02:00
|
|
|
# (I&O) Sets the low water mark for the in and outbound sockets, set to 0b for platform default
|
|
|
|
|
write-buffer-low-water-mark = 0b
|
|
|
|
|
|
2012-06-01 21:29:47 +02:00
|
|
|
# (I&O) Sets the send buffer size of the Sockets, set to 0b for platform default
|
|
|
|
|
send-buffer-size = 0b
|
|
|
|
|
|
|
|
|
|
# (I&O) Sets the receive buffer size of the Sockets, set to 0b for platform default
|
|
|
|
|
receive-buffer-size = 0b
|
|
|
|
|
|
2012-01-30 11:48:02 +01:00
|
|
|
# (O) Time between reconnect attempts for active clients
|
2012-01-20 14:29:50 +01:00
|
|
|
reconnect-delay = 5s
|
|
|
|
|
|
2012-02-01 16:06:30 +01:00
|
|
|
# (O) Read inactivity period (lowest resolution is seconds)
|
|
|
|
|
# after which active client connection is shutdown;
|
|
|
|
|
# will be re-established in case of new communication requests.
|
|
|
|
|
# A value of 0 will turn this feature off
|
|
|
|
|
read-timeout = 0s
|
|
|
|
|
|
|
|
|
|
# (O) Write inactivity period (lowest resolution is seconds)
|
2012-02-01 16:20:51 +01:00
|
|
|
# after which a heartbeat is sent across the wire.
|
2012-02-01 16:06:30 +01:00
|
|
|
# A value of 0 will turn this feature off
|
|
|
|
|
write-timeout = 10s
|
|
|
|
|
|
|
|
|
|
# (O) Inactivity period of both reads and writes (lowest resolution is seconds)
|
|
|
|
|
# after which active client connection is shutdown;
|
|
|
|
|
# will be re-established in case of new communication requests
|
|
|
|
|
# A value of 0 will turn this feature off
|
|
|
|
|
all-timeout = 0s
|
2012-01-20 14:29:50 +01:00
|
|
|
|
2012-01-30 11:48:02 +01:00
|
|
|
# (O) Maximum time window that a client should try to reconnect for
|
2012-01-20 14:29:50 +01:00
|
|
|
reconnection-time-window = 600s
|
2012-05-25 00:59:17 +02:00
|
|
|
|
2012-05-28 23:51:47 +02:00
|
|
|
ssl {
|
|
|
|
|
# (I&O) Enable SSL/TLS encryption.
|
|
|
|
|
# This must be enabled on both the client and server to work.
|
|
|
|
|
enable = off
|
2012-05-25 00:59:17 +02:00
|
|
|
|
2012-05-28 23:51:47 +02:00
|
|
|
# (I) This is the Java Key Store used by the server connection
|
|
|
|
|
key-store = "keystore"
|
2012-05-25 00:59:17 +02:00
|
|
|
|
2012-05-28 23:51:47 +02:00
|
|
|
# This password is used for decrypting the key store
|
|
|
|
|
key-store-password = "changeme"
|
2012-05-25 00:59:17 +02:00
|
|
|
|
2012-05-28 23:51:47 +02:00
|
|
|
# (O) This is the Java Key Store used by the client connection
|
|
|
|
|
trust-store = "truststore"
|
2012-05-25 00:59:17 +02:00
|
|
|
|
2012-05-28 23:51:47 +02:00
|
|
|
# This password is used for decrypting the trust store
|
|
|
|
|
trust-store-password = "changeme"
|
2012-05-25 00:59:17 +02:00
|
|
|
|
2012-05-28 23:51:47 +02:00
|
|
|
# (I&O) Protocol to use for SSL encryption, choose from:
|
|
|
|
|
# Java 6 & 7:
|
2012-06-05 13:44:05 +02:00
|
|
|
# 'SSLv3', 'TLSv1'
|
2012-05-28 23:51:47 +02:00
|
|
|
# Java 7:
|
2012-06-05 13:44:05 +02:00
|
|
|
# 'TLSv1.1', 'TLSv1.2'
|
2012-05-28 23:51:47 +02:00
|
|
|
protocol = "TLSv1"
|
2012-05-25 00:59:17 +02:00
|
|
|
|
2012-06-15 18:05:02 +02:00
|
|
|
# Examples: [ "TLS_RSA_WITH_AES_128_CBC_SHA", "TLS_RSA_WITH_AES_256_CBC_SHA" ]
|
2012-05-28 23:51:47 +02:00
|
|
|
# You need to install the JCE Unlimited Strength Jurisdiction Policy Files to use AES 256
|
|
|
|
|
# More info here: http://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html#SunJCEProvider
|
2012-06-19 10:36:09 +02:00
|
|
|
enabled-algorithms = ["TLS_RSA_WITH_AES_128_CBC_SHA"]
|
2012-06-05 13:44:05 +02:00
|
|
|
|
|
|
|
|
# Using /dev/./urandom is only necessary when using SHA1PRNG on Linux to prevent blocking
|
|
|
|
|
# It is NOT as secure because it reuses the seed
|
|
|
|
|
# '' => defaults to /dev/random or whatever is set in java.security for example: securerandom.source=file:/dev/random
|
2012-06-11 18:33:05 +02:00
|
|
|
# '/dev/./urandom' => NOT '/dev/urandom' as that doesn't work according to: http://bugs.sun.com/view_bug.do?bug_id=6202721
|
2012-06-05 13:44:05 +02:00
|
|
|
sha1prng-random-source = ""
|
|
|
|
|
|
|
|
|
|
# There are three options, in increasing order of security:
|
|
|
|
|
# "" or SecureRandom => (default)
|
|
|
|
|
# "SHA1PRNG" => Can be slow because of blocking issues on Linux
|
2012-06-20 19:06:12 +02:00
|
|
|
# "AES128CounterSecureRNG" => fastest startup and based on AES encryption algorithm
|
2012-07-02 13:13:45 +02:00
|
|
|
# "AES256CounterSecureRNG"
|
2012-06-05 13:44:05 +02:00
|
|
|
# The following use one of 3 possible seed sources, depending on availability: /dev/random, random.org and SecureRandom (provided by Java)
|
2012-06-20 19:06:12 +02:00
|
|
|
# "AES128CounterInetRNG"
|
|
|
|
|
# "AES256CounterInetRNG" (Install JCE Unlimited Strength Jurisdiction Policy Files first)
|
2012-06-19 10:36:09 +02:00
|
|
|
# Setting a value here may require you to supply the appropriate cipher suite (see enabled-algorithms section above)
|
2012-06-05 13:44:05 +02:00
|
|
|
random-number-generator = ""
|
2012-05-28 23:51:47 +02:00
|
|
|
}
|
2012-01-20 14:29:50 +01:00
|
|
|
}
|
2011-11-15 11:34:39 +01:00
|
|
|
}
|
|
|
|
|
}
|