Scala Akka中Netty对象的序列化

Scala Akka中Netty对象的序列化,scala,serialization,netty,akka,Scala,Serialization,Netty,Akka,我使用的是基于Akka的web服务器,它使用Netty进行网络连接。我一直在尝试将Socko WebSocketFrameEvent记录在持久性存储中。每次我试图传递要记录的WebSocketFrameEvent时,都会出现以下错误 java.io.NotSerializableException:org.jboss.netty.channel.socket.nio.NioAcceptedSocketChannel 有人告诉我,这个错误可能是由于Netty的NioAcceptedSocketCh

我使用的是基于Akka的web服务器,它使用Netty进行网络连接。我一直在尝试将Socko WebSocketFrameEvent记录在持久性存储中。每次我试图传递要记录的WebSocketFrameEvent时,都会出现以下错误

java.io.NotSerializableException:org.jboss.netty.channel.socket.nio.NioAcceptedSocketChannel

有人告诉我,这个错误可能是由于Netty的NioAcceptedSocketChannel没有被序列化,而Akka消息是被序列化的。我找到了Netty的,但我不确定如何在中列出Netty序列化包,以序列化包含Netty的NioAcceptedSocketChannel的消息。我当前的application.conf文件包含以下用于序列化的内容:

serializers {
    netty = "org.jboss.netty.handler.codec.serialization"
}
serialization-bindings {
    "org.mashupbots.socko.events.WebSocketFrameEvent" = java
}
当我尝试运行我的应用程序时,我得到以下错误,即使我已经用SBT解决了Netty依赖关系:

java.lang.ClassNotFoundException:org.jboss.netty.handler.codec.serialization


NioAcceptedSocketChannel似乎包含在WebSocketFrameEvent中,您无法序列化SocketChannel,因为它没有意义-如何序列化套接字连接?恐怕您根本无法序列化WebSocketFrameEvent。其次,application.conf中的serializers部分并不是这样定义的,更不用说Netty序列化程序很难与Akka所期望的兼容。如果您感兴趣,我建议您阅读这篇文章。您可能可以序列化WebSocketFrameEvent,但我认为您必须为此类编写akka.serialization.Serializer的实现。您有实现自定义序列化程序的工作示例吗?我看到Akka文档中有一个逐步的过程,但我想看看如果有空白,我必须填写什么。对不起,我没有。我从未使用过这个功能。org.jboss.netty.handler.codec.serialization可能不是一个类,也可能不是akka.serialization.Serializator类