项目作者: linux-china

项目描述 :
CloudEvents Java API
高级语言: Java
项目地址: git://github.com/linux-china/cloud-events-java-api.git
创建时间: 2018-05-13T07:13:13Z
项目社区:https://github.com/linux-china/cloud-events-java-api

开源协议:

下载


CloudEvents Java API

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

Features

How to use

  • Extend CloudEvent class:
  1. public class LoginEvent extends CloudEvent<String> {
  2. public LoginEvent(String email, String ip) {
  3. setData(email);
  4. setContentType("text/plain");
  5. setExtension("ip", ip);
  6. }
  7. }
  • Create object directly
  1. CloudEvent<String> loginEvent = new CloudEvent<String>("text/plain", "jacky.chenlb@alibaba-inc.com");
  • Event Builder
  1. CloudEvent<String> loginEvent = CloudEventBuilder.<String>newInstance().contentType("text/plain").data("jacky.chenlb@alibaba-inc.com").build();

ObjectMapper

  • ObjectMapper creation

    1. ObjectMapper objectMapper = new ObjectMapper();
    2. objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
    3. objectMapper.enable(SerializationFeature.INDENT_OUTPUT);
  • write as String

    1. objectMapper.writeValueAsString(loginEvent);
  • read from json text

    1. 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’}

  1. 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