Awesome
Java SDK for CloudEvents API
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<sup>†</sup> | :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: |
<sub>† Source/artifacts hosted externally</sub>
Documentation
Documentation is available at https://cloudevents.github.io/sdk-java/.
Javadocs are available on javadoc.io:
- cloudevents-api
- cloudevents-core
- cloudevents-avro-compact
- cloudevents-json-jackson
- cloudevents-protobuf
- cloudevents-xml
- cloudevents-http-basic
- cloudevents-http-restful-ws
- cloudevents-http-vertx
- cloudevents-kafka
- cloudevents-amqp
- cloudevents-spring
You can check out the examples in the examples directory.
Used By
Occurrent | Knative Eventing | http4k |
---|---|---|
<a href="https://occurrent.org"><img src="https://raw.githubusercontent.com/johanhaleby/occurrent/master/occurrent-logo-196x196.png" width="98" height="98" alt="Occurrent" title="Occurrent - Event Sourcing Utilities for the JVM"></img></a> | <a href="https://github.com/knative-sandbox/eventing-kafka-broker"><img src="https://cloudevents.io/img/logos/integrations/knative.png" height="98"></img></a> | <a href="https://www.http4k.org/guide/modules/cloud_events/"><img src="https://http4k.org/img/favicon-310.png" height="98" alt="http4k" title="http4k"></img></a> |
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.
If there is a security concern with one of the CloudEvents specifications, or with one of the project's SDKs, please send an email to cncf-cloudevents-security@lists.cncf.io.