protobuf
syntax = "proto3";
message MyMessage {
string name = 1;
int32 age = 2;
}
protoc --java_out=output_directory input.proto
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-actor_2.12</artifactId>
<version>2.6.15</version>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>3.18.1</version>
</dependency>
import akka.actor.AbstractLoggingActor;
import com.example.MyMessage;
public class MyActor extends AbstractLoggingActor {
@Override
public Receive createReceive() {
return receiveBuilder()
.match(MyMessage.class, message -> {
log().info("Received message: {}", message);
})
.build();
}
}
import com.example.MyMessage;
public class Main {
public static void main(String[] args) {
MyMessage message = MyMessage.newBuilder()
.setName("John")
.setAge(25)
.build();
byte[] serializedMessage = message.toByteArray();
MyMessage deserializedMessage = MyMessage.parseFrom(serializedMessage);
}
}