使用rabbitmq推送通知

Alm*_*zak 6 java rabbitmq spring-boot

我想使用rabbitmq向移动应用程序发送通知,问题是我从未使用过amqp协议,所以我需要一些建议

1)正如我从这里读到的http://www.rabbitmq.com/alarms.html如果我发送消息所有消费者都会收到它,我是否需要为每个用户创建单独的队列?

2)我只想在移动应用程序关闭时使用 GCM 发送推送,我可以使用这种结构(弹簧引导)吗?

@Controller
public class SampleController {
    Logger logger = Logger.getLogger(SampleController.class);

   @Autowired
    RabbitTemplate template;

    @RequestMapping("/")
    @ResponseBody
    String home() {
        return "Empty mapping";
    }

    @RequestMapping("/process/{message}")
    @ResponseBody
    String error(@PathVariable("message") String message) {
        logger.info(String.format("Emit '%s'",message));
        String response = (String) template.convertSendAndReceive("query-example-2",message);
        logger.info(String.format("Received on producer '%s'",response));
        if(response==null) {
          sendPushViaGCM(message);
        }
        return String.valueOf("returned from worker : " + response);
    }
Run Code Online (Sandbox Code Playgroud)

3)如果移动应用程序关闭并且我使用gcm发送推送如何从rabbitmq队列中删除消息以避免在应用程序打开时双重推送

4)正如我所建议的,当客户端连接到我的 rabbitmq 服务时,所有其他人将无权侦听其他队列,直到第一个队列未完成。我对吗?一些代码示例将不胜感激