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

io.github.hpsocket.soa.starter.kafka.producer.service.DomainEventService Maven / Gradle / Ivy

Go to download

hp-soa: a fully functional, easy-to-use, and highly scalable microservice framework

The newest version!
package io.github.hpsocket.soa.starter.kafka.producer.service;

import java.util.Collection;
import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;

import io.github.hpsocket.soa.starter.kafka.producer.entity.DomainEvent;

/** 领域事件服务接口 */
public interface DomainEventService extends IService
{
    /** 默认发送批次大小 */
    int DEFAULT_SEND_BATCH_SIZE         = 100;
    /** 默认补偿批次大小 */
    int DEFAULT_COMPENSATE_BATCH_SIZE   = 200;
    /** 默认超时补偿时间(秒) */
    int DEFAULT_COMPENSATE_TIMEOUT      = 30;
    
    /** 标记一个领域事件为正在发送 */
    T markOneEventToSend();
    /** 标记一个领域事件为正在发送 */
    T markOneEventToSend(Long preId);
    
    /** 标记多个领域事件为正在发送 */
    List markMultiEventToSend();
    /** 标记多个领域事件为正在发送 */
    List markMultiEventToSend(Long preId);
    /** 标记多个领域事件为正在发送 */
    List markMultiEventToSend(int batchSize);
    /** 标记多个领域事件为正在发送 */
    List markMultiEventToSend(int batchSize, Long preId);
    
    /** 标记一个领域事件为发送成功 */
    boolean markOneEventSendSuccess(Long id);
    /** 标记多个领域事件为发送成功 */
    boolean markMultiEventSendSuccess(Collection ids);

    /** 标记一个领域事件为发送失败 */
    boolean markOneEventSendFail(Long id);
    /** 标记多个领域事件为发送失败 */
    boolean markMultiEventSendFail(Collection ids);

    /** 重设正在发送的领域事件状态为发送失败 */
    boolean resetSendingEventToSendFail();
    /** 重设正在发送的领域事件状态为发送失败 */
    boolean resetSendingEventToSendFail(int sendTimeout);
    /** 重设正在发送的领域事件状态为发送失败 */
    boolean resetSendingEventToSendFail(int sendTimeout, int batchSize);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy