Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

52 lines (42 sloc) 1.587 kb
package org.elasticmq.server
import org.elasticmq.NodeAddress
import org.elasticmq.rest.sqs.SQSLimits
import com.typesafe.config.Config
class ElasticMQServerConfig(config: Config) {
// Configure main storage
sealed trait Storage
case object InMemoryStorage extends Storage
val storage: Storage = {
val subConfig = config.getConfig("storage")
val storageType = subConfig.getString("type")
if ("in-memory".equalsIgnoreCase(storageType)) {
InMemoryStorage
} else {
throw new IllegalArgumentException("Unknown storage type: " + storageType)
}
}
// What is the outside visible address of this ElasticMQ node (used by replication and rest-sqs)
val nodeAddress = {
val subConfig = config.getConfig("node-address")
NodeAddress(subConfig.getString("protocol"), subConfig.getString("host"), subConfig.getInt("port"),
subConfig.getString("context-path"))
}
// Optionally expose the REST SQS interface
class RestSqsConfiguration {
private val subConfig = config.getConfig("rest-sqs")
val enabled = subConfig.getBoolean("enabled")
val bindPort = subConfig.getInt("bind-port")
val bindHostname = subConfig.getString("bind-hostname")
val sqsLimits = {
val name = subConfig.getString("sqs-limits")
if ("relaxed".equalsIgnoreCase(name)) {
SQSLimits.Relaxed
} else if ("strict".equalsIgnoreCase(name)) {
SQSLimits.Strict
} else {
throw new IllegalArgumentException("Unknown sqs-limits name: " + name)
}
}
}
val restSqs = new RestSqsConfiguration
}
Jump to Line
Something went wrong with that request. Please try again.