编写带有参数的自定义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 )
Artem Bilan:

它不会起作用,因为自定义注释必须以某种方式引用元注释。@RabbitListener没有一个value()属性。虽然您可以尝试使用@AliasFor有关更多信息,请参见其JavaDocs。

不过,我不确定您的目标。您用声明一个@RabbitListenerbindings其结果将在目标侦听器容器中使用。queues()即使可以使用进行设计,容器中也将使用任何其他队列(例如via @AliasFor那是您所期望的吗?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章