infinispan / protostream

ProtoStream is a serialization library based on Protocol Buffers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ProtoStream

Build Status Maven Central Javadoc License Java 8+

ProtoStream is a serialization library based on Protobuf data format. It is open source software released under the Apache License, v2.0. ProtoStream is part of the Infinispan data grid platform. For more information about Infinispan visit the project's website on https://infinispan.org

Usage (via Maven)

Add this dependency to your pom.xml file:

<dependency>
   <groupId>org.infinispan.protostream</groupId>
   <artifactId>protostream</artifactId>
   <version>5.0.0-SNAPSHOT</version>
</dependency>

Annotation processor

The annotation processor should be automatically discovered by the compiler when the org.infinispan.protostream:protostream-processor dependency is on the classpath using the service loader.

The annotation processor supports some configuration options:

  • protostream.debug prints out debug information during the processing phase.
  • protostream.fullyqualifiedannotations when generating the .proto files, the annotation names are stripped of the package name. This flag keeps the fully-qualified annotation names in the generated files.

You can pass these arguments to javac using the -Aoption=value argument. The following pom.xml snippet shows how to do it with Maven:

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-compiler-plugin</artifactId>
   <version>3.11.0</version>
   <configuration>
      <compilerArgs>
         <arg>-Aprotostream-debug=true</arg>
      </compilerArgs>
   </configuration>
</plugin>

Requirements

Target runtime platform is Java 17.

Requires Java 17 or newer to build.

Maven 3.6.0 or newer.

Bugs

Bug reports go here

About

ProtoStream is a serialization library based on Protocol Buffers

License:Apache License 2.0


Languages

Language:Java 100.0%