复合目的地

功能 > 目的地功能 > 复合目的地

从 1.1 版本开始,ActiveMQ Classic 支持一项名为复合目的地的技术。这允许单个虚拟 JMS 目的地用于表示 JMS 目地的集合。

例如,您可以使用复合目的地在一个操作中将消息发送到 12 个物理队列。或者在一个操作中将消息发送到一个主题和一个队列。

我们使用简单的分隔符“,”来实现这一点,允许在创建目的地或在 JNDI 中注册目的地时指定多个目的地。例如,目的地

FOO.A,FOO.B,FOO.C

表示 3 个不同的目的地。这可以与队列或主题一起使用,以表示一组 3 个目的地。例如

// send to 3 queues as one logical operation
Queue queue = new ActiveMQQueue("FOO.A,FOO.B,FOO.C");
producer.send(queue, someMessage);

如果您希望混合和匹配目的地的类型,可以使用 queue://topic:// 的前缀来区分目的地的类型。例如,要在队列上发布,但也在主题上发出通知,可以使用

// send to queues and topic one logical operation
Queue queue = new ActiveMQQueue("FOO.A,topic://NOTIFY.FOO.A");
producer.send(queue, someMessage);

复合目的地也可以在 代理端配置,以便发送到单个目的地的消息将被透明地复制到多个物理目的地。

Apache、ActiveMQ、Apache ActiveMQ、Apache 羽毛徽标和 Apache ActiveMQ 项目徽标是 Apache 软件基金会的商标。版权所有 © 2024,Apache 软件基金会。根据 Apache 许可证 2.0 授权。