我正在尝试使用以下 lib 版本从“scratch”(读取,“noob”)组合我的第一个 Akka/Camel 应用程序:
- 阿卡骆驼:2.2.0-RC1
根据我能找到的所有文档(Akka 文档、用户组等),从基于文件的队列中消费我所要做的就是以这种方式设置我的系统:
主类:
actorSystem = ActorSystem.create("my-system");
Props props = new Props(Supervisor.class);
ActorRef supervisor = actorSystem.actorOf(props, "supervisor");
Camel camel = CamelExtension.get(actorSystem);
CamelContext camelContext = camel.context();
camelContext.start();
主管班:
import akka.actor.ActorRef;
import akka.actor.Props;
import akka.camel.javaapi.UntypedConsumerActor;
import org.apache.camel.Message;
/**
* Manages creation and supervision of UploadBatchWorkers.
*/
public class Supervisor extends UntypedConsumerActor {
@Override
public String getEndpointUri() {
return "file:///Users/myhome/queue";
}
@Override
public void preStart() {
String test = "test";
}
@Override
public void onReceive(Object message) {
if (message instanceof CamelMessage) {
// do something
}
}
我的问题是,即使我知道在 preStart() 方法的“测试”行上调试期间正在创建主管对象并中断(更不用说,如果我明确地“告诉”它处理得很好),它不会消耗从定义的端点,即使我有另一个应用程序向同一个端点生成消息。
知道我做错了什么吗?