使用OFormat序列化案例类时,会从播放应用程序中获得警告

时间:2019-02-25 17:14:45

标签: scala playframework redis playframework-2.0 play-json

我有一个函子,其中我使用play-json OFormat序列化用于api响应的case类,现在我注意到一些警告,提示我进入了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),也许与此有关?

1 个答案:

答案 0 :(得分:1)

发出警告的原因是 Akka 参与者之间的消息序列化。它不是您的“ play-json,而我的序列化器只是:”。

您开始使用 play-redis ,而插件使用 Akka actor,并使用最简单的序列化程序,即Java序列化程序。它很慢,因此他们建议不要在生产环境中使用它(这就是存在警告的原因),您需要在设置中进行更改。

https://github.com/KarelCemus/play-redis enter image description here

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