Skip to content

linux-china/cloud-events-java-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CloudEvents Java API

Java API for CloudEvents(https://github.com/cloudevents/spec)

Features

How to use

  • Extend CloudEvent class:
public class LoginEvent extends CloudEvent<String> {

    public LoginEvent(String email, String ip) {
        setData(email);
        setContentType("text/plain");
        setExtension("ip", ip);
    }
}
  • Create object directly
CloudEvent<String> loginEvent = new CloudEvent<String>("text/plain", "jacky.chenlb@alibaba-inc.com");
  • Event Builder
CloudEvent<String> loginEvent = CloudEventBuilder.<String>newInstance().contentType("text/plain").data("jacky.chenlb@alibaba-inc.com").build();

ObjectMapper

  • ObjectMapper creation
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
objectMapper.enable(SerializationFeature.INDENT_OUTPUT);
  • write as String
objectMapper.writeValueAsString(loginEvent);
  • read from json text
objectMapper.readValue(jsonText, new TypeReference<CloudEvent<String>>() {});

Protocol Buffer

Please refer CloudEventMapper for converter between JavaBean and ProtoMessage.

Event Logging

CloudEvent ships with default toString pattern: CloudEvent{cloudEventsVersion='0.1',eventID='xxx'}

12:49:22,076 |-INFO in ch.qos.logback.classic.LoggerContext[default] - CloudEvent{cloudEventsVersion='0.1',eventID='xxx'}

Event Broker

Please consider NATS or NATS Streaming to post or subscribe cloud events.

References

About

CloudEvents Java API

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages