spring cloud stream整合kafka消息队列的问题

王者_来归 2020-03-07 11:55:43
各位好,我使用spring cloud stream整合kafka作为消息队列,能够正常的产生消息和消费消息,即我在一个应用中产生消息,在另外一个应用中去消费消息,处理后再把这个数据给第三个应用处理,现在我在第二个消息中,使用@EnableBinding(Sink.class)正常收到消息,这时我需要处理业务逻辑,请问一下,如何把这个消息给Controller去处理?
备注:我使用的是Spring cloud,不同的业务分模块,第一个应用只是定时的产生消息,第二个应用收到消息后,到数据库中(缓存中)查找相应的配置,再把数据处理一下,调用第三个应用去最终处理。
我试了把@EnableBinding(Sink.class)放在Controller中,这样controller中通过@Autowired注入的bean就会报错。

我怎么样才能把@EnableBinding(Sink.class)收到的消息给Controller处理呢?或者各位有什么其它的方案,也请指教!
...全文
637 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
王者_来归 2020-03-09
  • 打赏
  • 举报
回复
引用 7 楼 James灬Gosling 的回复:
[quote=引用 6 楼 王者_来归 的回复:]
[quote=引用 5 楼 James灬Gosling 的回复:]
描述清楚问题比解决问题还要重要


引用 4 楼 James灬Gosling 的回复:
首先你要保证消息能收到,然后确保你的feign配置什么的都是正常可用的,第三你要告诉我们报的什么错,注入bean空指针还是什么的,提问不带你这样提问的,你这样讲的鬼才看得懂,场景一二三都列出来


非常感谢,其实我只需要一些思路和方法而已,如果报错了,那我应该不会来问,因为有报错就能找到解决办法。你们回答很专业,体现了非常好的素养,如果我的问题没有描述清楚,我感到非常抱歉,但我认为我上面的回复应该很清楚了:


引用 3 楼 王者_来归 的回复:
[quote=引用 2 楼 James灬Gosling 的回复:]
Controller是与前端交互的,跟你消费kafka的有啥关系

我这样描述吧:比如一个订单服务,消息消费者收到订单消息后,肯定要与数据库或缓存交互,那在spring cloud框架下,怎么样在标注@EnableBinding(Sink.class)的消费者类中去调用和数据库或缓存相关的feign接口进行处理呢?[/quote]


这个问题我自己研究吧,不打扰你们了!

最后,非常感谢你们的回复[/quote]
你说走就走,这样更加不负责任!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!![/quote]

没走呢,只是这个问题我自己搞吧,还是很感谢你们的,实话!!!!!
戎码一生灬 2020-03-09
  • 打赏
  • 举报
回复
引用 6 楼 王者_来归 的回复:
[quote=引用 5 楼 James灬Gosling 的回复:]
描述清楚问题比解决问题还要重要


引用 4 楼 James灬Gosling 的回复:
首先你要保证消息能收到,然后确保你的feign配置什么的都是正常可用的,第三你要告诉我们报的什么错,注入bean空指针还是什么的,提问不带你这样提问的,你这样讲的鬼才看得懂,场景一二三都列出来


非常感谢,其实我只需要一些思路和方法而已,如果报错了,那我应该不会来问,因为有报错就能找到解决办法。你们回答很专业,体现了非常好的素养,如果我的问题没有描述清楚,我感到非常抱歉,但我认为我上面的回复应该很清楚了:


引用 3 楼 王者_来归 的回复:
[quote=引用 2 楼 James灬Gosling 的回复:]
Controller是与前端交互的,跟你消费kafka的有啥关系

我这样描述吧:比如一个订单服务,消息消费者收到订单消息后,肯定要与数据库或缓存交互,那在spring cloud框架下,怎么样在标注@EnableBinding(Sink.class)的消费者类中去调用和数据库或缓存相关的feign接口进行处理呢?[/quote]


这个问题我自己研究吧,不打扰你们了!

最后,非常感谢你们的回复[/quote]
你说走就走,这样更加不负责任!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
王者_来归 2020-03-09
  • 打赏
  • 举报
回复
引用 5 楼 James灬Gosling 的回复:
描述清楚问题比解决问题还要重要


引用 4 楼 James灬Gosling 的回复:
首先你要保证消息能收到,然后确保你的feign配置什么的都是正常可用的,第三你要告诉我们报的什么错,注入bean空指针还是什么的,提问不带你这样提问的,你这样讲的鬼才看得懂,场景一二三都列出来


非常感谢,其实我只需要一些思路和方法而已,如果报错了,那我应该不会来问,因为有报错就能找到解决办法。你们回答很专业,体现了非常好的素养,如果我的问题没有描述清楚,我感到非常抱歉,但我认为我上面的回复应该很清楚了:


引用 3 楼 王者_来归 的回复:
[quote=引用 2 楼 James灬Gosling 的回复:]
Controller是与前端交互的,跟你消费kafka的有啥关系

我这样描述吧:比如一个订单服务,消息消费者收到订单消息后,肯定要与数据库或缓存交互,那在spring cloud框架下,怎么样在标注@EnableBinding(Sink.class)的消费者类中去调用和数据库或缓存相关的feign接口进行处理呢?[/quote]


这个问题我自己研究吧,不打扰你们了!

最后,非常感谢你们的回复
戎码一生灬 2020-03-09
  • 打赏
  • 举报
回复
描述清楚问题比解决问题还要重要
戎码一生灬 2020-03-09
  • 打赏
  • 举报
回复
首先你要保证消息能收到,然后确保你的feign配置什么的都是正常可用的,第三你要告诉我们报的什么错,注入bean空指针还是什么的,提问不带你这样提问的,你这样讲的鬼才看得懂,场景一二三都列出来
王者_来归 2020-03-09
  • 打赏
  • 举报
回复
引用 2 楼 James灬Gosling 的回复:
Controller是与前端交互的,跟你消费kafka的有啥关系

我这样描述吧:比如一个订单服务,消息消费者收到订单消息后,肯定要与数据库或缓存交互,那在spring cloud框架下,怎么样在标注@EnableBinding(Sink.class)的消费者类中去调用和数据库或缓存相关的feign接口进行处理呢?
戎码一生灬 2020-03-09
  • 打赏
  • 举报
回复
Controller是与前端交互的,跟你消费kafka的有啥关系
王者_来归 2020-03-09
  • 打赏
  • 举报
回复
自己顶一下,期待问题得到解决,非常感谢!
戎码一生灬 2020-03-09
  • 打赏
  • 举报
回复
引用 10 楼 王者_来归 的回复:
[quote=引用 9 楼 James灬Gosling 的回复:]
[quote=引用 8 楼 王者_来归 的回复:]
[quote=引用 7 楼 James灬Gosling 的回复:]
[quote=引用 6 楼 王者_来归 的回复:]
[quote=引用 5 楼 James灬Gosling 的回复:]
描述清楚问题比解决问题还要重要


引用 4 楼 James灬Gosling 的回复:
首先你要保证消息能收到,然后确保你的feign配置什么的都是正常可用的,第三你要告诉我们报的什么错,注入bean空指针还是什么的,提问不带你这样提问的,你这样讲的鬼才看得懂,场景一二三都列出来


非常感谢,其实我只需要一些思路和方法而已,如果报错了,那我应该不会来问,因为有报错就能找到解决办法。你们回答很专业,体现了非常好的素养,如果我的问题没有描述清楚,我感到非常抱歉,但我认为我上面的回复应该很清楚了:


引用 3 楼 王者_来归 的回复:
[quote=引用 2 楼 James灬Gosling 的回复:]
Controller是与前端交互的,跟你消费kafka的有啥关系

我这样描述吧:比如一个订单服务,消息消费者收到订单消息后,肯定要与数据库或缓存交互,那在spring cloud框架下,怎么样在标注@EnableBinding(Sink.class)的消费者类中去调用和数据库或缓存相关的feign接口进行处理呢?[/quote]


这个问题我自己研究吧,不打扰你们了!

最后,非常感谢你们的回复[/quote]
你说走就走,这样更加不负责任!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!![/quote]

没走呢,只是这个问题我自己搞吧,还是很感谢你们的,实话!!!!![/quote]

不行,必须得我们帮你解决!!!!![/quote]

,那可能要让你失望了。我的这个问题已经自己解决了。问题出在feign的配置上面,我原来的配置是配合前端展现的,所以有传权限认证相关的参数,而使用消息队列时,并不会把认证信息也传过来,所以feign的相关配置也得稍微改改。[/quote]


所以还是我之前说的:首先你要保证消息能收到,然后确保你的feign配置什么的都是正常可用的,第三你要告诉我们报的什么错,别动不动就来CSDN上提问题,自己先定位好问题,再来提问,不然只会浪费你的时间
王者_来归 2020-03-09
  • 打赏
  • 举报
回复
引用 9 楼 James灬Gosling 的回复:
[quote=引用 8 楼 王者_来归 的回复:]
[quote=引用 7 楼 James灬Gosling 的回复:]
[quote=引用 6 楼 王者_来归 的回复:]
[quote=引用 5 楼 James灬Gosling 的回复:]
描述清楚问题比解决问题还要重要


引用 4 楼 James灬Gosling 的回复:
首先你要保证消息能收到,然后确保你的feign配置什么的都是正常可用的,第三你要告诉我们报的什么错,注入bean空指针还是什么的,提问不带你这样提问的,你这样讲的鬼才看得懂,场景一二三都列出来


非常感谢,其实我只需要一些思路和方法而已,如果报错了,那我应该不会来问,因为有报错就能找到解决办法。你们回答很专业,体现了非常好的素养,如果我的问题没有描述清楚,我感到非常抱歉,但我认为我上面的回复应该很清楚了:


引用 3 楼 王者_来归 的回复:
[quote=引用 2 楼 James灬Gosling 的回复:]
Controller是与前端交互的,跟你消费kafka的有啥关系

我这样描述吧:比如一个订单服务,消息消费者收到订单消息后,肯定要与数据库或缓存交互,那在spring cloud框架下,怎么样在标注@EnableBinding(Sink.class)的消费者类中去调用和数据库或缓存相关的feign接口进行处理呢?[/quote]


这个问题我自己研究吧,不打扰你们了!

最后,非常感谢你们的回复[/quote]
你说走就走,这样更加不负责任!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!![/quote]

没走呢,只是这个问题我自己搞吧,还是很感谢你们的,实话!!!!![/quote]

不行,必须得我们帮你解决!!!!![/quote]

,那可能要让你失望了。我的这个问题已经自己解决了。问题出在feign的配置上面,我原来的配置是配合前端展现的,所以有传权限认证相关的参数,而使用消息队列时,并不会把认证信息也传过来,所以feign的相关配置也得稍微改改。
戎码一生灬 2020-03-09
  • 打赏
  • 举报
回复
引用 8 楼 王者_来归 的回复:
[quote=引用 7 楼 James灬Gosling 的回复:]
[quote=引用 6 楼 王者_来归 的回复:]
[quote=引用 5 楼 James灬Gosling 的回复:]
描述清楚问题比解决问题还要重要


引用 4 楼 James灬Gosling 的回复:
首先你要保证消息能收到,然后确保你的feign配置什么的都是正常可用的,第三你要告诉我们报的什么错,注入bean空指针还是什么的,提问不带你这样提问的,你这样讲的鬼才看得懂,场景一二三都列出来


非常感谢,其实我只需要一些思路和方法而已,如果报错了,那我应该不会来问,因为有报错就能找到解决办法。你们回答很专业,体现了非常好的素养,如果我的问题没有描述清楚,我感到非常抱歉,但我认为我上面的回复应该很清楚了:


引用 3 楼 王者_来归 的回复:
[quote=引用 2 楼 James灬Gosling 的回复:]
Controller是与前端交互的,跟你消费kafka的有啥关系

我这样描述吧:比如一个订单服务,消息消费者收到订单消息后,肯定要与数据库或缓存交互,那在spring cloud框架下,怎么样在标注@EnableBinding(Sink.class)的消费者类中去调用和数据库或缓存相关的feign接口进行处理呢?[/quote]


这个问题我自己研究吧,不打扰你们了!

最后,非常感谢你们的回复[/quote]
你说走就走,这样更加不负责任!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!![/quote]

没走呢,只是这个问题我自己搞吧,还是很感谢你们的,实话!!!!![/quote]

不行,必须得我们帮你解决!!!!!

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧