I am working on an app based on Apache Camel and I want to use Camel as a
Log4j socket endpoint.  I have Camel configured using netty and object
deserialization using the ObjectDecoder.  According to the Log4j documents,
the log events should come to me as a serialized LoggingEvent object.

So when I try and send an event to my Camel application, its never
received.  I check wireshark and the event is going over the socket.  So
what am I doing wrong?

My Camel app is:

   PropertyPlaceholderDelegateRegistry delRegistry =
(PropertyPlaceholderDelegateRegistry)getContext().getRegistry();
    JndiRegistry registry = (JndiRegistry)delRegistry.getRegistry();
    List<ChannelHandler> decoders = new LinkedList<ChannelHandler>();
    List<ChannelHandler> encoders = new LinkedList<ChannelHandler>();


    encoders.add( new ObjectEncoder());
    decoders.add( ChannelHandlerFactories.newObjectDecoder() );

    registry.bind("decoders", decoders);
    registry.bind("encoders", encoders);

    from("netty:tcp://
127.0.0.1:9999?sync=false&decoders=#decoders&encoders=#encoders")
    .to("log:9999?showAll=true");

I have also tried this configuration and I am not receiving any data:

        from("netty:tcp://127.0.0.1:9999?sync=false&textline=false")
        .to("log:9999?showAll=true");

Reply via email to