spring - 编写带有参数的自定义弹簧注释?
问题描述
可以转这个注解吗
@RabbitListener(
bindings = [QueueBinding(
key = [Amqp.FOLEY_NEW],
value = Queue(Amqp.FOLEY_NEW),
exchange = Exchange(name = "amq.topic", type = ExchangeTypes.TOPIC )
)]
)
进入一个简单地将队列名称作为参数的自定义注释?
试一试,但我看不出我可以参考Listener.value
@Target(AnnotationTarget.FUNCTION)
@Retention
@RabbitListener(
bindings = [QueueBinding(
key = [Amqp.FOLEY_NEW],
value = Queue(Amqp.FOLEY_NEW),
exchange = Exchange(name = "amq.topic", type = ExchangeTypes.TOPIC )
)]
)
annotation class Listener( val value: String )
解决方案
它不会起作用,因为自定义注释必须以某种方式引用元注释。@RabbitListener
没有value()
属性。尽管您可以尝试使用@AliasFor
. 有关更多信息,请参阅其 JavaDocs。
不过,我不确定您的目标。您声明 a @RabbitListener
with some bindings
,其结果将在目标侦听器容器中使用。queues()
即使您能够使用@AliasFor
. 这是你所期望的吗?
推荐阅读
- javascript - JavaScript 生成的样式按钮
- javascript - NetSuite:将 SalesRep 和应收账款附加到客户记录中
- json - 使用动态键的 Elasticsearch 嵌套对象模式设计
- reactjs - 用于 API 调用验证的 React 与 React Static
- c++ - 计算 AVL 树的平衡因子
- java - 如何将上传到 Firebase 云存储的图像的公共 URL 上传到实时数据库
- python - 如何以不同的方式对多个列进行分组以查找新事件?
- python - 如何在 Python 中使用 selenium webdriver 嵌入谷歌地图的网站中定位和单击标记?
- javascript - 如何将数组拆分为给定大小的块?(JavaScript)
- reactjs - 反应下拉列表 - 选定的值减一