我有一个函数,我在其中使用 play-json OFormat 来序列化用于 api 响应的案例类,现在我注意到一些警告出现在 play 应用程序的日志中,如下所示:
zation(akka://application)(77) - Using the default Java serializer for class [model.ValidationResponse] which is not recommended because of performance implications. Use another serializer or disable this warning using the setting 'akka.actor.warn-about-java-serializer-usage'
有人用过吗?个人以前从未见过这个..
就像在我使用 play-json 的任何应用程序中一样,我的序列化器只是:
object CustomSerializer {
implicit val ValidationResponseFormat: OFormat[ValidationResponse] = Json.format[ValidationResponse]
}
然后我将它导入到我需要的地方。
很想知道是否有人以前有过这种情况,在这种情况下我应该怎么做。
以前没见过,不过这个func最近改的是我加了cache(play-redis),可能跟那个有关系?
最佳答案
警告的原因是 Akka actors 之间的消息序列化。这不是您的“play-json,我的序列化程序只是:”。
开始使用play-redis,插件使用Akka actor,使用最简单的序列化,java序列化。它很慢,所以他们建议不要在制作中使用它(这就是存在警告的原因),您需要在设置中更改它。
https://github.com/KarelCemus/play-redis
有关 Akka 序列化设置和此警告的更多信息,您可以在这个问题的答案中找到:akka-remote serializable warning
关于scala - 使用 OFormat 序列化案例类时从 Play 应用程序收到警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54871398/