dyc87112 / blog-comments

5 stars 1 forks source link

Spring Cloud Stream 使用延迟消息实现定时任务(RabbitMQ) | 程序猿DD #308

Open dyc87112 opened 5 years ago

dyc87112 commented 5 years ago

http://blog.didispace.com/spring-cloud-starter-finchley-7-7/

应用场景我们在使用一些开源调度系统(比如:elastic-job等)的时候,对于任务的执行时间通常都是有规律性的,可能是每隔半小时执行一次,或者每天凌晨一点执行一次。然而实际业务中还存在另外一种定时任务,它可能需要一些触发条件才开始定时,比如:编写博文时候,设置2小时之后发送。对于这些开始时间不确定的定时任务,我们也可

rookielz commented 5 years ago

发送消息时设置了x-delay这个header,再设置其他的header就会报错Caused by: java.lang.UnsupportedOperationException: MessageHeaders is immutable

Janyd commented 5 years ago

stream消息驱动中有没有,类似SpringMVC那样过滤器,从header里提取一些数据放到ThreadLocal呢?

dyc87112 commented 5 years ago

@Janyd stream消息驱动中有没有,类似SpringMVC那样过滤器,从header里提取一些数据放到ThreadLocal呢?

直接用AOP就可以把。监听方法中可以直接用@Header注解来获取头信息数据