scala - 使用 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),也许它与此有关?
解决方案
警告的原因是Akka Actor之间的消息序列化。这不是你的“ play-json,我的序列化器只是: ”。
你开始使用play-redis,插件使用Akka actor,并使用最简单的序列化,java 序列化。它很慢,所以他们建议不要在制作中使用它(这就是存在警告的原因),您需要在设置中更改它。
https://github.com/KarelCemus/play-redis
有关Akka序列化设置和此警告的更多信息,您可以在此问题的答案中找到:akka-remote serializable warning
推荐阅读
- php - 如何从表行的引导程序 4 下拉列表中获取 id 值?
- javascript - 我如何以更优雅的方式保存对象
- php - 在 laravel 中从视图中查找数组索引
- python - 有没有办法声明一个函数应该使用调用者的范围?
- tensorflow - 如何使用 Horovod 在分布式环境中运行 TensorFlow 2?
- java - 如何终止由于 Socket.accept() 而被阻塞太久的线程?
- reactjs - 部署的 Heroku 应用在桌面上运行良好,但在移动设备上只有空白屏幕
- reactjs - 通过函数在子组件中向下传递变量的道具类型应该是什么
- java - [CustomClassMapper]:在 Firebase Firestore 的类上找不到 ... 的设置器/字段
- python - 一次为多个设备的主机名更改创建ansible playbook