运行 Java 中的内存中 elasticMQ

Running in-memory elasticMQ in Java

我正在尝试获取一个嵌入式 SQS 模拟,用于对 Java SQS 客户端进行一些独立的本地测试。

ElasticMQ 听起来应该能满足我的需求,但说明似乎假定我正在使用 Java,而且我不知道如何从 [=] 中启动 ElasticMQ 的其余服务器25=].

我已经尝试了我假设的 Java 等效于 https://github.com/adamw/elasticmq#starting-an-embedded-elasticmq-server-with-an-sqs-interface 处提供的代码:

RestServer server = new SQSRestServerBuilder().start()

但是 SQSRestServerBuilder() 需要一个 Client 参数,我不知道该放什么。

有没有其他人在 Java 中获得 ElasticMQ 运行 内存?

最新版本的SQSRestServerBuilder似乎不​​需要Client参数。您使用的是旧版本的 ElasticMQ 吗?

https://github.com/adamw/elasticmq/blob/master/rest/rest-sqs/src/main/scala/org/elasticmq/rest/sqs/SQSRestServerBuilder.scala

如果您使用的是旧版本,您可以通过执行以下操作在内存中创建 SQS 服务器:

import org.elasticmq.Node
import org.elasticmq.NodeBuilder
import org.elasticmq.rest.RestServer
import org.elasticmq.rest.sqs.SQSRestServerBuilder
import org.elasticmq.storage.inmemory.InMemoryStorage

...

Node node = NodeBuilder.withStorage(new InMemoryStorage())
RestServer sqsServer = new SQSRestServerBuilder(node.nativeClient()).start()

以上代码是ElasticMQ 0.6.3的具体示例,依赖Scala 2.10