
com.github.linyuzai.event.kafka.publisher.DefaultKafkaEventPublisher Maven / Gradle / Ivy
package com.github.linyuzai.event.kafka.publisher;
import com.github.linyuzai.event.core.context.EventContext;
import com.github.linyuzai.event.core.error.EventErrorHandler;
import com.github.linyuzai.event.kafka.endpoint.KafkaEventEndpoint;
import lombok.AllArgsConstructor;
import org.springframework.kafka.support.SendResult;
import org.springframework.lang.NonNull;
import org.springframework.util.concurrent.ListenableFuture;
import org.springframework.util.concurrent.ListenableFutureCallback;
@AllArgsConstructor
public class DefaultKafkaEventPublisher implements KafkaEventPublisher {
private EventErrorHandler errorHandler;
@Override
public void publish(Object event, KafkaEventEndpoint endpoint, EventContext context) {
ListenableFuture> send = endpoint.getTemplate().sendDefault(event);
send.addCallback(new ListenableFutureCallback>() {
@Override
public void onFailure(@NonNull Throwable e) {
onPublishFailure(e, endpoint, context);
}
@Override
public void onSuccess(SendResult
© 2015 - 2025 Weber Informatics LLC | Privacy Policy