sdk-java icon indicating copy to clipboard operation
sdk-java copied to clipboard

Java SDK for CloudEvents

Java SDK for CloudEvents API

License Maven Central Javadocs

The Java SDK for CloudEvents is a collection of Java packages to adopt CloudEvents in your Java application.

Using the Java SDK you can:

  • Access, create and manipulate CloudEvent inside your application.
  • Serialize and deserialize CloudEvent back and forth using the CloudEvents Event Format, like Json.
  • Read and write CloudEvent back and forth to HTTP, Kafka, AMQP using the CloudEvents Protocol Binding implementations we provide for a wide range of well known Java frameworks/libraries.

To check out the complete documentation and how to get started, look at the dedicated website https://cloudevents.github.io/sdk-java/.

Status

This SDK is considered work in progress. The community is working hard to bring you a new major version of the SDK with major enhancements both to APIs and to implementation.

If you want to know more about v1 of this SDK, check out the v1 readme

Stay tuned!

Supported features of the specification:

v0.3 v1.0
CloudEvents Core :heavy_check_mark: :heavy_check_mark:
AMQP Protocol Binding :x: :x:
- Proton :heavy_check_mark: :heavy_check_mark:
AVRO Event Format :x: :x:
HTTP Protocol Binding :heavy_check_mark: :heavy_check_mark:
- Vert.x :heavy_check_mark: :heavy_check_mark:
- Jakarta Restful WS :heavy_check_mark: :heavy_check_mark:
- Basic :heavy_check_mark: :heavy_check_mark:
- Spring :heavy_check_mark: :heavy_check_mark:
- http4k :heavy_check_mark: :heavy_check_mark:
JSON Event Format :heavy_check_mark: :heavy_check_mark:
- Jackson :heavy_check_mark: :heavy_check_mark:
Protobuf Event Format :heavy_check_mark: :heavy_check_mark:
- Proto :heavy_check_mark: :heavy_check_mark:
Kafka Protocol Binding :heavy_check_mark: :heavy_check_mark:
MQTT Protocol Binding :x: :x:
NATS Protocol Binding :x: :x:
Web hook :x: :x:

† Source/artifacts hosted externally

Documentation

Documentation is available at https://cloudevents.github.io/sdk-java/.

Javadocs are available on javadoc.io:

You can check out the examples in the examples directory.

Used By

Occurrent Knative Eventing http4k
Occurrent http4k

Community

  • There are bi-weekly calls immediately following the Serverless/CloudEvents call at 9am PT (US Pacific). Which means they will typically start at 10am PT, but if the other call ends early then the SDK call will start early as well. See the CloudEvents meeting minutes to determine which week will have the call.
  • Slack: #cloudeventssdk channel under CNCF's Slack workspace.
  • Email: https://lists.cncf.io/g/cncf-cloudevents-sdk
  • Contact for additional information: Francesco Guardiani (@slinkydeveloper on slack), Fabio José (@fabiojose on slack).

Each SDK may have its own unique processes, tooling and guidelines, common governance related material can be found in the CloudEvents community directory. In particular, in there you will find information concerning how SDK projects are managed, guidelines for how PR reviews and approval, and our Code of Conduct information.