Spring Cloud Stream 配置使用 XML 文件而不是注释
Spring Cloud Stream configurationwith XML file instead of annotations
我正在使用 Spring Cloud Stream。
我不喜欢用@Input 或@Ouput 注释的接口然后使用该接口的@EnableBindings 的方法,因为我的代码中散布了很多配置内容。
有什么方法可以使用 XML 配置来配置它吗?
谢谢!
"because I have a lot of configuration stuff spread in my code"其实不是XML vs. Annotation的问题。如果一个人对他们的设计不小心,无论你采用什么方法,你都会一团糟。所以基本上这不是 and/or 关注的正当理由,而是个人偏好。
有一些方法可以在您的 spring-cloud-stream 应用程序中使用 XML;毕竟实际的应用程序确实是一个 Spring 集成 (SI) 应用程序,它接收 and/or 发送 from/to 消息通道。
但是,关于 @EnableBindings, @Input or @Ouput
,必须了解它们的核心目的是:
- 创建 SI 通道并将其绑定到绑定器公开的资源(队列、主题)
协助配置此类资源(队列、主题)
等. .
当然你可以自己解决这个问题,回到纯 SI 并使用 inbound/outbound 适配器、连接和会话工厂、重试模板等...,但这不会构成 spring-云流应用程序。
此外,不要忘记 Spring 引导,其中很多东西都是基于 convention/opinion 创建的,您根本不需要做任何事情(除了有一个自动-config JAR 在你的类路径中)和 spring-cloud-stream 真正建立在这些概念之上,只需要你提供一个开箱即用的配置元素 - @EnableBindings
,我们会处理剩下的事情。
所以实际上问题是启动还是不启动 - 而不是XML vs 注释。
话虽如此,我们一直在探索可以简化配置的选项,因此如果您有任何建议,请分享。
我正在使用 Spring Cloud Stream。
我不喜欢用@Input 或@Ouput 注释的接口然后使用该接口的@EnableBindings 的方法,因为我的代码中散布了很多配置内容。
有什么方法可以使用 XML 配置来配置它吗?
谢谢!
"because I have a lot of configuration stuff spread in my code"其实不是XML vs. Annotation的问题。如果一个人对他们的设计不小心,无论你采用什么方法,你都会一团糟。所以基本上这不是 and/or 关注的正当理由,而是个人偏好。
有一些方法可以在您的 spring-cloud-stream 应用程序中使用 XML;毕竟实际的应用程序确实是一个 Spring 集成 (SI) 应用程序,它接收 and/or 发送 from/to 消息通道。
但是,关于 @EnableBindings, @Input or @Ouput
,必须了解它们的核心目的是:
- 创建 SI 通道并将其绑定到绑定器公开的资源(队列、主题)
协助配置此类资源(队列、主题)
等. .
当然你可以自己解决这个问题,回到纯 SI 并使用 inbound/outbound 适配器、连接和会话工厂、重试模板等...,但这不会构成 spring-云流应用程序。
此外,不要忘记 Spring 引导,其中很多东西都是基于 convention/opinion 创建的,您根本不需要做任何事情(除了有一个自动-config JAR 在你的类路径中)和 spring-cloud-stream 真正建立在这些概念之上,只需要你提供一个开箱即用的配置元素 - @EnableBindings
,我们会处理剩下的事情。
所以实际上问题是启动还是不启动 - 而不是XML vs 注释。
话虽如此,我们一直在探索可以简化配置的选项,因此如果您有任何建议,请分享。