首页 > 解决方案 > 使用 OFormat 序列化案例类时从播放应用程序收到警告

问题描述

我有一个函数,我使用 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]
}

然后我将它导入到我需要的地方。

很想听听是否有人以前有过,在这种情况下我该怎么办。

以前从未见过,但最近在这个函数中发生的变化是我添加了缓存(play-redis),也许它与此有关?

标签: scalaplayframeworkredisplayframework-2.0play-json

解决方案


警告的原因是Akka Actor之间的消息序列化。这不是你的“ play-json,我的序列化器只是: ”。

你开始使用play-redis,插件使用Akka actor,并使用最简单的序列化,java 序列化。它很慢,所以他们建议不要在制作中使用它(这就是存在警告的原因),您需要在设置中更改它。

https://github.com/KarelCemus/play-redis 在此处输入图像描述

有关Akka序列化设置和此警告的更多信息,您可以在此问题的答案中找到:akka-remote serializable warning


推荐阅读