【发布时间】:2014-08-19 21:28:27
【问题描述】:
我正在尝试通过我的 Scala 应用程序将消息推送到 SQS 队列。尝试连接到 SQS 时收到以下错误:
ProducerRegistrar$$anonfun$receive$3.applyOrElse(CamelSupervisor.scala:159)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:425)
at akka.actor.ActorCell.invoke(ActorCell.scala:386)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:230)
at akka.dispatch.Mailbox.run(Mailbox.scala:212)
at akka.dispatch.ForkJoinExecutorConfigurator$MailboxExecutionTask.exec(AbstractDispatcher.scala:506)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:262)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:975)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1478)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104)
Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: aws-sqs://analyticsSandboxSQS?accessKey=<access>&secretKey=<secret> due to: No component found with scheme: aws-sqs
at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:475)
at akka.camel.internal.ProducerRegistrar$$anonfun$receive$3.applyOrElse(CamelSupervisor.scala:151)
... 9 more
我已使用以下代码设置 URI:
import akka.actor.{ Actor, ActorSystem, Props }
import akka.camel.{ Oneway, Producer }
class EventSenderSQS extends Actor with Producer with Oneway {
def endpointUri = "aws-sqs://queueName?accessKey=<access>&secretKey=<secret>"
}
我使用以下内容尝试发送消息:
val sys = ActorSystem("sys")
val eventsActor = sys.actorOf(Props[EventProducerSQS])
eventsActor ! "testMessage"
我使用的是 akka-camel 版本 2.1.4,它应该支持 aws-sqs 端点。
【问题讨论】:
标签: scala apache-camel akka amazon-sqs