Documentation for a newer release is available.
View Latest
Exportación manual de eventos mediante un SendConnector
Aquí usamos Connectors para suscribirnos a un conjunto de eventos, convertirlos a un formato propietario y luego enviarlos a través de algún transporte:
var connector = new SendConnector.Builder<IPFSystemEvent<?>, String>("eventSendConnector")
.withTargetTypeConverter(evt -> String.format("{'eventName': '%s', 'createdAt':'%s'}", evt.getName(), evt.getCreatedAt().toString()))
.withTransportMessageConverter(TransportMessage::new)
.withConnectorTransport(connectorTransport)
.build();
eventBus.subscribe(new EventProcessor() {
@Override
public Predicate<IPFSystemEvent<?>> predicate() {
return evt -> evt.getLevel() == EventLevel.ERROR;
}
@Override
public void notify(IPFSystemEvent<?> event) {
connector.send(event.getMessageAssociation(), event);
}
});
Primero creamos el conector con:
-
Una forma de convertir el evento a un tipo de destino (
withTargetTypeConverter) — en este caso, un payload JSON de ejemplo -
Una forma de convertir el tipo de destino en un mensaje para enviar por el transporte (
withTransportMessageConverter) -
Un
ConnectorTransport— se admiten JMS, Kafka y HTTP, pero también puedes escribir el tuyo propio