Spring Cloud Task не запускается в Spring Cloud Stream с использованием RabbitMQ - PullRequest
0 голосов
/ 23 октября 2018

Я экспериментирую с API-интерфейсами Spring Cloud в рамках курса по микросервисам.

Для настройки задачи без сервера я использую Cloud Task, Cloud Stream (RabbitMQ) и Spring Web.

Для этого я настроил следующие проекты:

Бессерверное задание для выполнения - https://github.com/Omkar-Shetkar/pluralsight-springcloud-m3-task

Компонент для получения запроса Http от пользователя и отправки в RabbitMQ - https://github.com/Omkar-Shetkar/pluralsight-springcloud-m3-taskintake

Компонент Sink для получения TaskLaunchRequest и пересылки в облачную задачу - https://github.com/Omkar-Shetkar/pluralsight-springcloud-m3-tasksink

После установки вышеуказанных компонентов этот компонент задачи доступен в локальном репозитории maven.enter image description here

После инициирования запроса POST на /tasks в pluralsight.com.TaskController.launchTask(String) я вижу ответ HTTP.

enter image description here

Но я не увидел ни одного обновления в базе данных журналов задач, связанной с задачей без сервера.Это означает, что само задание не вызывается.

В консоли RabbitMQ я мог видеть, что соединения установлены из компонентов впуска и приемника, но я не вижу никакого обмена сообщениями.

enter image description here

Очередь с именем tasktopic имеет нулевое количество сообщений.

enter image description here

Оцените любые указания и предложенияо том, как поступить, чтобы решить эту проблему.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 27 октября 2018

С моей текущей реализацией возникли две проблемы:

В приемном и приемном модулях -> application.properties , ключ свойства привязки был неверным.

Должно быть:

Во входном модуле

spring.cloud.stream.bindings.output.destination=tasktopic

В модуле приемника

spring.cloud.stream.bindings.input.destination=tasktopic

Кроме того, версии локального облачного развертывателя были несовместимы в приемникеmodules pom.xml.

Обновлено также:

   <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-deployer-local</artifactId>
        <version>1.3.0.RELEASE</version>
    </dependency>

С этими изменениями я могу получать сообщения RabbitMQ.

0 голосов
/ 26 октября 2018

@ Аннотация EnableTaskLauncher отсутствует в TaskIntakeApplication.

@SpringBootApplication
@EnableTaskLauncher
public class PluralsightSpringcloudM3TaskintakeApplication {

    public static void main(String[] args) {
        SpringApplication.run(PluralsightSpringcloudM3TaskintakeApplication.class, args);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...