package com.qianwen.core.notify.executor;
|
|
import java.util.List;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import com.qianwen.core.context.task.TaskExecutionContext;
|
import com.qianwen.core.context.task.TaskExecutorProvider;
|
import com.qianwen.core.notify.NotifyQueueProducer;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
import org.springframework.stereotype.Component;
|
|
@ConditionalOnBean({INotifyTaskService.class, NotifyQueueProducer.class})
|
@Component
|
/* loaded from: blade-starter-notify-9.3.0.0-SNAPSHOT.jar:org/springblade/core/notify/executor/NotifyTaskExecutorProvider.class */
|
public class NotifyTaskExecutorProvider implements TaskExecutorProvider {
|
private static final Logger log = LoggerFactory.getLogger(NotifyTaskExecutorProvider.class);
|
private final INotifyTaskService notifyTaskService;
|
private final NotifyQueueProducer notifyQueueProducer;
|
|
public NotifyTaskExecutorProvider(final INotifyTaskService notifyTaskService, final NotifyQueueProducer notifyQueueProducer) {
|
this.notifyTaskService = notifyTaskService;
|
this.notifyQueueProducer = notifyQueueProducer;
|
}
|
|
public String getExecutor() {
|
return "notifier_task";
|
}
|
|
public void executeTask(TaskExecutionContext context) {
|
List<NotifyExecutionContext> notifyExecutionContexts = this.notifyTaskService.createNotifyExecutionContext(context);
|
notifyExecutionContexts.forEach(x -> {
|
this.notifyQueueProducer.asyncSend(x);
|
});
|
}
|
}
|