प्रिय ऊंट/अक्का/नेट्टी मास्टर्स!

मैंने UntypedConsumerActor बनाया है जो tcp कनेक्शन का उपभोग करता है:

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 बनाया है:

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;
    }
}

अब, जब मैं संदेश भेजता हूं तो रिसीव विधि पर कोई कॉल नहीं होती है। क्यों? जब मैं DefaultContextProvider सेट करता हूं और टेक्स्टलाइन का उपभोग करने के लिए नेट्टी को कॉन्फ़िगर करता हूं तो सबकुछ अपेक्षित काम करता है।

0
Marcin Wiśniewski 2 नवम्बर 2016, 18:08

1 उत्तर

सबसे बढ़िया उत्तर

ठीक है, मुझे समस्या मिली। शायद यह किसी की मदद करता है:

चैनल को आग लगाना जरूरी है घटना पढ़ें:

ctx.fireChannelRead(msg);
1
Marcin Wiśniewski 4 नवम्बर 2016, 16:57