Sdk java
Java SDK for CloudEvents
The Java SDK for CloudEvents is a collection of Java packages to adopt [CloudEvents](https://github.com/cloudevents/spec) in your Java application. The project is written primarily in Java, distributed under the Apache License 2.0 license, first published in 2018. Key topics include: cloudevents, hacktoberfest, java-api, kafka, sdk-java.
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
CloudEventinside your application. - Serialize and deserialize
CloudEventback and forth using the CloudEvents
Event Format, like JSON. - Read and write
CloudEventback 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 EE 8 Restful WS | :heavy_check_mark: | :heavy_check_mark: |
| - Jakarta EE 9+ 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-restful-ws-jakarta
- 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é (@fabiojoseon 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.
Additional SDK Resources
Contributors
Showing top 12 contributors by commit count.
