All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.elastic.sailor.impl.SnapshotCallback Maven / Gradle / Ivy

There is a newer version: 4.0.3
Show newest version
package io.elastic.sailor.impl;

import com.google.gson.JsonObject;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import io.elastic.sailor.AMQPWrapperInterface;
import io.elastic.sailor.ExecutionContext;
import io.elastic.sailor.impl.CountingCallbackImpl;

public class SnapshotCallback extends CountingCallbackImpl {

    private ExecutionContext executionDetails;
    private AMQPWrapperInterface amqp;

    @Inject
    public SnapshotCallback(
            @Assisted ExecutionContext executionDetails,
            AMQPWrapperInterface amqp) {
        this.executionDetails = executionDetails;
        this.amqp = amqp;
    }

    @Override
    public void receiveData(Object data) {
        JsonObject snapshot = (JsonObject) data;

        byte[] payload = snapshot.toString().getBytes();

        amqp.sendSnapshot(payload, executionDetails.buildDefaultOptions());
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy