Over a million developers have joined DZone.

ElasticMQ 0.2 – support for delayed queues and messages

DZone 's Guide to

ElasticMQ 0.2 – support for delayed queues and messages

· Java Zone ·
Free Resource

I just released version 0.2 of ElasticMQ – a simple message queue system, which implements the Amazon SQS interface. Ideal if you want to test a service which uses SQS, or create a system which can leverage either the AWS infrastructure or run stand-alone.

The new version brings support for some new Amazon SQS features: delayed messages and queues. See the Amazon Blog for details.

Also, I changed the testsuite to use Amazon’s Java SDK. So you can be pretty sure that ElasticMQ works with SQS clients :). As an example, here’s the required code (in Scala, Java equivalent would be obviously a bit longer ;) ) to start an ElasticMQ node, send & receive a message using Amazon Java SDK and shutdown the server.

// First we need to create a Node
val node = NodeBuilder.withInMemoryStorage().build()
// Then we can expose the native client using the SQS REST interface
val server = SQSRestServerFactory.start(node.nativeClient, 8888,
// Now we need to create the sqs client
client = new AmazonSQSClient(new BasicAWSCredentials("x", "x"))
// Using the client is quite straightforward
val queueUrl = client.createQueue(new CreateQueueRequest("queue1"))
client.sendMessage(new SendMessageRequest(queueUrl, "message1"))
// Finally we need to stop the server and the node

For more information about ElasticMQ, information on SBT and Maven dependencies, see the webpage.

Stay tuned,


From http://www.warski.org/blog/2012/01/elasticmq-0-2-support-for-delayed-queues-and-messages/


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}