ChannelInboundMessageHandlerAdapter找不到符号

时间:2014-03-13 12:22:07

标签: java netbeans netty

我尝试根据此example制作简单的聊天程序。

import io.netty.channel.ChannelHandlerContext;

public class ChatClientHandler extends ChannelInboundMessageHandlerAdapter<String>
{

}

我收到cannot find symbol错误。我也尝试将SimpleInboundHandlerAdapter更改为SimpleInboundHandlerAdapter,但结果相同。

1 个答案:

答案 0 :(得分:1)

ChannelInboundMessageHandlerAdapter 类在上一版本中无法使用。 如果你想使用 ChannelInboundMessageHandlerAdapter ,你必须将netty版本更新为4.0.0.CR3 在maven中,您必须添加以下依赖项才能使用此类

<!-- https://mvnrepository.com/artifact/io.netty/netty-all -->
   <dependency>
     <groupId>io.netty</groupId>
     <artifactId>netty-all</artifactId>
     <version>4.0.0.CR3</version>
</dependency>

甚至更好,你可以升级到最后一个稳定版本。此刻是4.1.5.Final ......

<dependency>
    <groupId>io.netty</groupId>
    <artifactId>netty-all</artifactId>
    <version>4.1.5.Final</version>
</dependency>

并扩展SimpleChannelInboundHandler而不是ChannelInboundMessageHandlerAdapter,如下所示:

public class ChatClientHandler extends SimpleChannelInboundHandler<String> {

@Override
protected void channelRead0(ChannelHandlerContext ctx, String msg) throws Exception {
    System.out.println("Te fuiste para lo de Visconti: " + msg);
}

}

请记住,channelRead0方法名称将在5.0版本中重命名为messageReceived(ChannelHandlerContext,I)