The first step is to define the Avro schema. As a reminder, our HealthCheck class looks like Listing 5.1:
public final class HealthCheck {
private String event;
private String factory;
private String serialNumber;
private String type;
private String status;
private Date lastStartedAt;
private float temperature;
private String ipAddress;
}
Listing 5.1: HealthCheck.java
Now, with the representation of this message in Avro format, the schema (that is, the template) of all the messages of this type in Avro would be Listing 5.2:
{
"name": "HealthCheck",
"namespace": "kioto.avro",
"type": "record",
"fields": [
{ "name": "event", "type": "string" },
{ "name": "factory", "type": "string" },
{ "name": "serialNumber...