2016-05-31 4 views
0

저는 Akka을 처음 사용하며 Camel 구성 요소를 사용하려고합니다.Akka Camel : 끝점에 소비자가 없습니다.

여기 코드를 단순화했으나 기본적으로 액터가 있으며 JMS 엔드 포인트에서 소모됩니다.

내 통합 테스트에서 나는 JMS에서 소비하고 싶지 않습니다. 대신 고객이 읽는 끝점으로 메시지를 보내려고합니다.

따라서이 "직접적인"방법을 시도하지만 No consumers available on endpoint: Endpoint[direct://myCamelEndpoint]. Exchange[Message: My test message] 예외가 발생합니다.

여기서 누락 된 설정은 무엇입니까?

object TestApp extends App { 
    implicit val system = ActorSystem() 
    val camel = CamelExtension(system) 
    val producer = system.actorOf(Props[MyProducer]) 
    val consumer = system.actorOf(Props[MyConsumer]) 

    producer ! "My test message" 


} 

class MyProducer extends Producer { 
    override def endpointUri: String = "direct:myCamelEndpoint" 
} 

class MyConsumer extends Consumer with ActorLogging{ 
    override def endpointUri: String = "direct:myCamelEndpoint" 

    override def receive: Receive = { 
    case event: Any => log.info("Received event {}", event) 
    } 
} 
+1

seda는 JMS처럼 동작하기 때문에 직접 대신 seda를 사용하십시오. –

+0

매력 작품! 그 내용을 답으로 추가하면 받아 들일 것입니다. 감사 – DJ180

답변

1

seda는 JMS처럼 동작하기 때문에 직접 대신 seda를 사용하십시오.

관련 문제