39.7. 例
39.7.1. Request-Reply とシリアライズされたオブジェクトペイロードを使用する UDP Netty エンドポイント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
オブジェクトのシリアライズはデフォルトでは許可されていないため、デコーダーを設定する必要があることに注意してください。
@BindToRegistry("decoder")
public ChannelHandler getDecoder() throws Exception {
return new DefaultChannelHandlerFactory() {
@Override
public ChannelHandler newChannelHandler() {
return new DatagramPacketObjectDecoder(ClassResolvers.weakCachingResolver(null));
}
};
}
RouteBuilder builder = new RouteBuilder() {
public void configure() {
from("netty:udp://0.0.0.0:5155?sync=true&decoders=#decoder")
.process(new Processor() {
public void process(Exchange exchange) throws Exception {
Poetry poetry = (Poetry) exchange.getIn().getBody();
// Process poetry in some way
exchange.getOut().setBody("Message received);
}
}
}
};
@BindToRegistry("decoder")
public ChannelHandler getDecoder() throws Exception {
return new DefaultChannelHandlerFactory() {
@Override
public ChannelHandler newChannelHandler() {
return new DatagramPacketObjectDecoder(ClassResolvers.weakCachingResolver(null));
}
};
}
RouteBuilder builder = new RouteBuilder() {
public void configure() {
from("netty:udp://0.0.0.0:5155?sync=true&decoders=#decoder")
.process(new Processor() {
public void process(Exchange exchange) throws Exception {
Poetry poetry = (Poetry) exchange.getIn().getBody();
// Process poetry in some way
exchange.getOut().setBody("Message received);
}
}
}
};