From 3699c6856eea13240c058c469b58fcaeca688ff7 Mon Sep 17 00:00:00 2001 From: Roland Date: Mon, 5 Mar 2012 17:48:38 +0100 Subject: [PATCH] add docs for durMbx settings, see #1863 --- .../src/main/resources/reference.conf | 16 +++++++++++- .../actor/mailbox/BeanstalkBasedMailbox.scala | 2 +- .../BeanstalkBasedMailboxSettings.scala | 1 - .../src/main/resources/reference.conf | 26 ++++++++++++++++++- .../src/main/resources/reference.conf | 5 ++++ .../src/main/resources/reference.conf | 8 +++++- .../actor/mailbox/ZooKeeperBasedMailbox.scala | 2 +- .../ZooKeeperBasedMailboxSettings.scala | 1 - 8 files changed, 54 insertions(+), 7 deletions(-) diff --git a/akka-durable-mailboxes/akka-beanstalk-mailbox/src/main/resources/reference.conf b/akka-durable-mailboxes/akka-beanstalk-mailbox/src/main/resources/reference.conf index 6ec98a2114..d9a45dd548 100644 --- a/akka-durable-mailboxes/akka-beanstalk-mailbox/src/main/resources/reference.conf +++ b/akka-durable-mailboxes/akka-beanstalk-mailbox/src/main/resources/reference.conf @@ -4,16 +4,30 @@ # This is the reference config file that contains all the default settings. # Make your edits/overrides in your application.conf. +# +# for more information see akka { actor { mailbox { beanstalk { + # hostname to connect to hostname = "127.0.0.1" + + # port to connect to port = 11300 + + # wait period in case of a connection failure before reconnect reconnect-window = 5s + + # integer number of seconds to wait before putting the job in + # the ready queue. The job will be in the "delayed" state during this time. message-submit-delay = 0s - message-submit-timeout = 5s + + # time to run -- is an integer number of seconds to allow a worker + # to run this job. This time is counted from the moment a worker reserves + # this job. If the worker does not delete, release, or bury the job within + # seconds, the job will time out and the server will release the job. message-time-to-live = 120s } } diff --git a/akka-durable-mailboxes/akka-beanstalk-mailbox/src/main/scala/akka/actor/mailbox/BeanstalkBasedMailbox.scala b/akka-durable-mailboxes/akka-beanstalk-mailbox/src/main/scala/akka/actor/mailbox/BeanstalkBasedMailbox.scala index 35a09303fa..45600f1587 100644 --- a/akka-durable-mailboxes/akka-beanstalk-mailbox/src/main/scala/akka/actor/mailbox/BeanstalkBasedMailbox.scala +++ b/akka-durable-mailboxes/akka-beanstalk-mailbox/src/main/scala/akka/actor/mailbox/BeanstalkBasedMailbox.scala @@ -41,7 +41,7 @@ class BeanstalkBasedMessageQueue(_owner: ActorContext, val settings: BeanstalkMa // ===== For MessageQueue ===== def enqueue(receiver: ActorRef, envelope: Envelope) { - Some(queue.get.put(65536, messageSubmitDelaySeconds, messageTimeToLiveSeconds, serialize(envelope)).toInt) + queue.get.put(65536, messageSubmitDelaySeconds, messageTimeToLiveSeconds, serialize(envelope)).toInt } def dequeue(): Envelope = try { diff --git a/akka-durable-mailboxes/akka-beanstalk-mailbox/src/main/scala/akka/actor/mailbox/BeanstalkBasedMailboxSettings.scala b/akka-durable-mailboxes/akka-beanstalk-mailbox/src/main/scala/akka/actor/mailbox/BeanstalkBasedMailboxSettings.scala index 0450b2c172..4f0ef3a578 100644 --- a/akka-durable-mailboxes/akka-beanstalk-mailbox/src/main/scala/akka/actor/mailbox/BeanstalkBasedMailboxSettings.scala +++ b/akka-durable-mailboxes/akka-beanstalk-mailbox/src/main/scala/akka/actor/mailbox/BeanstalkBasedMailboxSettings.scala @@ -21,7 +21,6 @@ class BeanstalkMailboxSettings(val systemSettings: ActorSystem.Settings, val use val Port = getInt("port") val ReconnectWindow = Duration(getMilliseconds("reconnect-window"), MILLISECONDS) val MessageSubmitDelay = Duration(getMilliseconds("message-submit-delay"), MILLISECONDS) - val MessageSubmitTimeout = Duration(getMilliseconds("message-submit-timeout"), MILLISECONDS) val MessageTimeToLive = Duration(getMilliseconds("message-time-to-live"), MILLISECONDS) } \ No newline at end of file diff --git a/akka-durable-mailboxes/akka-file-mailbox/src/main/resources/reference.conf b/akka-durable-mailboxes/akka-file-mailbox/src/main/resources/reference.conf index 9e7069f296..1a1b7b721b 100644 --- a/akka-durable-mailboxes/akka-file-mailbox/src/main/resources/reference.conf +++ b/akka-durable-mailboxes/akka-file-mailbox/src/main/resources/reference.conf @@ -4,23 +4,47 @@ # This is the reference config file that contains all the default settings. # Make your edits/overrides in your application.conf. +# +# For more information see akka { actor { mailbox { file-based { + # directory below which this queue resides directory-path = "./_mb" + + # attempting to add an item after the queue reaches this size (in items) will fail. max-items = 2147483647 + + # attempting to add an item after the queue reaches this size (in bytes) will fail. max-size = 2147483647 bytes - max-items = 2147483647 + + # attempting to add an item larger than this size (in bytes) will fail. max-item-size = 2147483647 bytes + + # maximum expiration time for this queue (seconds). max-age = 0s + + # maximum journal size before the journal should be rotated. max-journal-size = 16 MiB + + # maximum size of a queue before it drops into read-behind mode. max-memory-size = 128 MiB + + # maximum overflow (multiplier) of a journal file before we re-create it. max-journal-overflow = 10 + + # absolute maximum size of a journal file until we rebuild it, no matter what. max-journal-size-absolute = 9223372036854775807 bytes + + # whether to drop older items (instead of newer) when the queue is full discard-old-when-full = on + + # whether to keep a journal file at all keep-journal = on + + # whether to sync the journal after each transaction sync-journal = off } } diff --git a/akka-durable-mailboxes/akka-redis-mailbox/src/main/resources/reference.conf b/akka-durable-mailboxes/akka-redis-mailbox/src/main/resources/reference.conf index 93c11a2975..714b0b2dfe 100644 --- a/akka-durable-mailboxes/akka-redis-mailbox/src/main/resources/reference.conf +++ b/akka-durable-mailboxes/akka-redis-mailbox/src/main/resources/reference.conf @@ -4,12 +4,17 @@ # This is the reference config file that contains all the default settings. # Make your edits/overrides in your application.conf. +# +# for more information see akka { actor { mailbox { redis { + # hostname of where the redis queue resides hostname = "127.0.0.1" + + # port at which the redis queue resides port = 6379 } } diff --git a/akka-durable-mailboxes/akka-zookeeper-mailbox/src/main/resources/reference.conf b/akka-durable-mailboxes/akka-zookeeper-mailbox/src/main/resources/reference.conf index 4f9a47b084..322d5cc612 100644 --- a/akka-durable-mailboxes/akka-zookeeper-mailbox/src/main/resources/reference.conf +++ b/akka-durable-mailboxes/akka-zookeeper-mailbox/src/main/resources/reference.conf @@ -4,15 +4,21 @@ # This is the reference config file that contains all the default settings. # Make your edits/overrides in your application.conf. +# +# For more information see akka { actor { mailbox { zookeeper { + # host and port to connect to ZooKeeper server-addresses = "127.0.0.1:2181" + + # timeout after which an unreachable client is considered dead and its session is closed session-timeout = 60s + + # maximum wait period while connecting to ZooKeeper service connection-timeout = 60s - blocking-queue = on } } } diff --git a/akka-durable-mailboxes/akka-zookeeper-mailbox/src/main/scala/akka/actor/mailbox/ZooKeeperBasedMailbox.scala b/akka-durable-mailboxes/akka-zookeeper-mailbox/src/main/scala/akka/actor/mailbox/ZooKeeperBasedMailbox.scala index e54423d0e0..9b867fdfd9 100644 --- a/akka-durable-mailboxes/akka-zookeeper-mailbox/src/main/scala/akka/actor/mailbox/ZooKeeperBasedMailbox.scala +++ b/akka-durable-mailboxes/akka-zookeeper-mailbox/src/main/scala/akka/actor/mailbox/ZooKeeperBasedMailbox.scala @@ -38,7 +38,7 @@ class ZooKeeperBasedMessageQueue(_owner: ActorContext, val settings: ZooKeeperBa settings.ZkServerAddresses, settings.SessionTimeout, settings.ConnectionTimeout) - private val queue = new ZooKeeperQueue[Array[Byte]](zkClient, queuePathTemplate.format(name), settings.BlockingQueue) + private val queue = new ZooKeeperQueue[Array[Byte]](zkClient, queuePathTemplate.format(name), true) def enqueue(receiver: ActorRef, envelope: Envelope) { queue.enqueue(serialize(envelope)) diff --git a/akka-durable-mailboxes/akka-zookeeper-mailbox/src/main/scala/akka/actor/mailbox/ZooKeeperBasedMailboxSettings.scala b/akka-durable-mailboxes/akka-zookeeper-mailbox/src/main/scala/akka/actor/mailbox/ZooKeeperBasedMailboxSettings.scala index 58cd67c3c1..6ecdb65af4 100644 --- a/akka-durable-mailboxes/akka-zookeeper-mailbox/src/main/scala/akka/actor/mailbox/ZooKeeperBasedMailboxSettings.scala +++ b/akka-durable-mailboxes/akka-zookeeper-mailbox/src/main/scala/akka/actor/mailbox/ZooKeeperBasedMailboxSettings.scala @@ -20,6 +20,5 @@ class ZooKeeperBasedMailboxSettings(val systemSettings: ActorSystem.Settings, va val ZkServerAddresses = getString("server-addresses") val SessionTimeout = Duration(getMilliseconds("session-timeout"), MILLISECONDS) val ConnectionTimeout = Duration(getMilliseconds("connection-timeout"), MILLISECONDS) - val BlockingQueue = getBoolean("blocking-queue") } \ No newline at end of file