0
친애하는 Camel/Akka/Netty Masters! 내가 거기에 메시지를 보낼 때, 이제Akka + Camel + Context-Provider
public class FDCamelContext implements ContextProvider {
public DefaultCamelContext getContext(ExtendedActorSystem system) {
JndiRegistry registry = new JndiRegistry();
registry.bind("fdDecoder", new FDDecoder());
registry.bind("fdHandler", new FDHandler());
DefaultCamelContext context = new DefaultCamelContext(registry);
return context;
}
}
:
그물코 구성 요소에 대한 디코더를 구성 할 경우public class TcpEndpoint extends UntypedConsumerActor {
private static final Logger log = LoggerFactory.getLogger(TcpEndpoint.class);
public static Props props = Props.create(TcpEndpoint.class);
@Override
public String getEndpointUri() {
return "netty4:tcp://localhost:8000?decoders=#fdDecoder,#fdHandler";
}
@Override
public void onReceive(Object message) throws Throwable {
log.error("onReceived");
}
}
, 제작 한 ContextProvider :
은 내가 TCP 연결을 소비하는 UntypedConsumerActor 만든 onReceive 메소드를 호출하지 않습니다. 왜? DefaultContextProvider를 설정하고 textline을 사용하도록 netty를 구성하면 모든 것이 예상대로 작동합니다.