Мне нужно, чтобы мои события были сохранены как json в cassandra (чтобы я мог читать их с помощью некоторого GUI-клиента непосредственно из db).
Я следовал руководству lagom https://www.lagomframework.com/documentation/1.4.x/scala/Serialization.html (Включение сериализации JSON), но события по-прежнему хранятся в каком-то двоичном или другом формате.
Вот что я сделал:
Создан реестр сериализатора
object ProjectSerializerRegistry extends JsonSerializerRegistry {
override def serializers: Seq[JsonSerializer[_]] = Seq(
JsonSerializer[ProjectCreated],
)
}
Зарегистрировано:
abstract class ProjectsApplication(context: LagomApplicationContext)
extends LagomApplication(context)
with CassandraPersistenceComponents
with LagomKafkaComponents
with AhcWSComponents {
...
// Register the JSON serializer registry
override lazy val jsonSerializerRegistry = ProjectSerializerRegistry
}
Вот само событие:
case class ProjectCreated(id: String, name: String, createdAt: DateTime) extends ProjectEvent
object ProjectCreated {
implicit val format: OFormat[ProjectCreated] = Json.format[ProjectCreated]
}
После отправки команды сущности, которая вызывает событие ProjectCreated
и выполнения запроса select event from projects.messages
Я ожидал увидеть что-то подобное в Кассандре:
{
"id": "prj-1",
"name": "Project 1",
"createdAt": "2018-05-04 01:16:00"
}
Но вместо этого я вижу что-то подобное в столбце event
:
0x7b226d657373616765223a224869227d
Я что-то пропустил? Или это может быть какое-то сжатое или закодированное значение json?