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

com.github.linyuzai.event.kafka.endpoint.KafkaEventEndpoint Maven / Gradle / Ivy

There is a newer version: 1.1.1
Show newest version
package com.github.linyuzai.event.kafka.endpoint;

import com.github.linyuzai.event.core.context.EventContext;
import com.github.linyuzai.event.core.endpoint.AbstractEventEndpoint;
import com.github.linyuzai.event.core.error.EventErrorHandler;
import com.github.linyuzai.event.kafka.exception.KafkaEventException;
import com.github.linyuzai.event.kafka.properties.KafkaEventProperties;
import com.github.linyuzai.event.kafka.publisher.DefaultKafkaEventPublisher;
import lombok.Getter;
import lombok.NonNull;
import lombok.Setter;
import org.springframework.kafka.config.KafkaListenerContainerFactory;
import org.springframework.kafka.core.ConsumerFactory;
import org.springframework.kafka.core.KafkaAdmin;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.kafka.core.ProducerFactory;
import org.springframework.kafka.listener.MessageListenerContainer;
import org.springframework.kafka.support.ProducerListener;
import org.springframework.kafka.transaction.KafkaTransactionManager;

import java.lang.reflect.Type;

@Getter
@Setter
public class KafkaEventEndpoint extends AbstractEventEndpoint {

    private KafkaEventProperties.ExtendedKafkaProperties properties;

    private ProducerFactory producerFactory;

    private ProducerListener producerListener;

    private KafkaTemplate template;

    private ConsumerFactory consumerFactory;

    private KafkaTransactionManager transactionManager;

    private KafkaListenerContainerFactory listenerContainerFactory;

    private KafkaAdmin admin;

    public KafkaEventEndpoint(@NonNull String name) {
        super(name);
    }

    @Override
    public void defaultPublish(Object event, EventContext context) {
        EventErrorHandler errorHandler = context.get(EventErrorHandler.class);
        new DefaultKafkaEventPublisher(errorHandler).publish(event, this, context);
    }

    @Override
    public void defaultSubscribe(Type type, EventContext context) {
        throw new KafkaEventException("EventSubscriber is null");
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy