我想使用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);
}
3)如果移动应用程序关闭并且我使用gcm发送push如何从rabbitmq队列中删除消息以避免在应用程序打开时双击
4)正如我所建议的,当客户端连接到我的rabbitmq服务时,所有其他人都没有权限监听其他队列,直到第一个没有完成。我对吗? 一些代码示例将不胜感激