我知道,使用Spring @SqsListener注释,我可以使用同一个侦听器侦听多个队列。根据文件:
public @interface SqsListener {
/**
* List of queues. Queues can be defined by their logical/physical name or URL.
* @return list of queues
*/
String[] value() default {};所以Kotlin的一个例子可能是这样的:
@SqsListener(value = ["queue1", "queue2"], deletionPolicy = SqsMessageDeletionPolicy.ALWAYS)
@MessageMapping
fun testListeningToMultipleQueues(@Payload myPayloadObject: MyPayloadObject, @Header("myCustomHeader") myCustomHeader: String) {
logger.info("Message received, but not sure from which queue")
}在testListeningToMultipleQueues queue1 方法中有什么方法可以知道消息是来自queue1还是 queue2**?**?
发布于 2021-08-06 14:26:47
您必须使用这个标题:
@Header("LogicalResourceId") receivedQueue: String或者lookupDestination,如果LogicalResourceId作为一个ARN来的话。
https://stackoverflow.com/questions/68664109
复制相似问题