Spring Cloud Task 未使用 Spring Cloud Stream using RabbitMQ 启动
Spring Cloud Task not started with Spring Cloud Stream using RabbitMQ
我正在试验 Spring 云 API 作为微服务课程的一部分。
为了设置无服务器任务,我正在使用 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
接收器组件接收 TaskLaunchRequest 并转发到云任务 - https://github.com/Omkar-Shetkar/pluralsight-springcloud-m3-tasksink
设置以上组件后,确保任务组件在本地 maven 存储库中可用。
在 pluralsight.com.TaskController.launchTask(String)
中向 /tasks
发起 POST 请求后,我看到了一个 HTTP 响应。
但是,我在与无服务器任务关联的任务日志数据库中看不到任何更新。
这意味着,它自己的任务不会被调用。
在 RabbitMQ 控制台中,我可以看到连接是从输入和接收组件建立的,但我没有看到任何消息交换发生。
名称为 tasktopic
的队列的消息计数为零。
感谢任何有关如何继续解决此问题的指示和建议。
谢谢。
TaskIntakeApplication 中缺少@EnableTaskLauncher 注释。
@SpringBootApplication
@EnableTaskLauncher
public class PluralsightSpringcloudM3TaskintakeApplication {
public static void main(String[] args) {
SpringApplication.run(PluralsightSpringcloudM3TaskintakeApplication.class, args);
}
}
我当前的实现有两个问题:
在入口和接收器模块中 -> application.properties,绑定 属性 键错误。
应该是:
在进气模块中
spring.cloud.stream.bindings.output.destination=tasktopic
在接收器模块中
spring.cloud.stream.bindings.input.destination=tasktopic
此外,本地云部署器版本在接收器模块中不兼容 pom.xml。
更新为:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-deployer-local</artifactId>
<version>1.3.0.RELEASE</version>
</dependency>
通过这些更改,我能够获取 RabbitMQ 消息。
我正在试验 Spring 云 API 作为微服务课程的一部分。
为了设置无服务器任务,我正在使用 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
接收器组件接收 TaskLaunchRequest 并转发到云任务 - https://github.com/Omkar-Shetkar/pluralsight-springcloud-m3-tasksink
设置以上组件后,确保任务组件在本地 maven 存储库中可用。
在 pluralsight.com.TaskController.launchTask(String)
中向 /tasks
发起 POST 请求后,我看到了一个 HTTP 响应。
但是,我在与无服务器任务关联的任务日志数据库中看不到任何更新。 这意味着,它自己的任务不会被调用。
在 RabbitMQ 控制台中,我可以看到连接是从输入和接收组件建立的,但我没有看到任何消息交换发生。
名称为 tasktopic
的队列的消息计数为零。
感谢任何有关如何继续解决此问题的指示和建议。
谢谢。
TaskIntakeApplication 中缺少@EnableTaskLauncher 注释。
@SpringBootApplication
@EnableTaskLauncher
public class PluralsightSpringcloudM3TaskintakeApplication {
public static void main(String[] args) {
SpringApplication.run(PluralsightSpringcloudM3TaskintakeApplication.class, args);
}
}
我当前的实现有两个问题:
在入口和接收器模块中 -> application.properties,绑定 属性 键错误。
应该是:
在进气模块中
spring.cloud.stream.bindings.output.destination=tasktopic
在接收器模块中
spring.cloud.stream.bindings.input.destination=tasktopic
此外,本地云部署器版本在接收器模块中不兼容 pom.xml。
更新为:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-deployer-local</artifactId>
<version>1.3.0.RELEASE</version>
</dependency>
通过这些更改,我能够获取 RabbitMQ 消息。