| | |
| | | package com.xcong.excoin.rabbit.producer; |
| | | |
| | | import com.xcong.excoin.configurations.RabbitMqConfig; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.amqp.rabbit.connection.CorrelationData; |
| | | import org.springframework.amqp.rabbit.core.RabbitTemplate; |
| | | import org.springframework.amqp.rabbit.core.RabbitTemplate.ConfirmCallback; |
| | |
| | | /** |
| | | * rabbitMq示例生产者 |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class OrderProducer implements ConfirmCallback { |
| | | |
| | | /** |
| | | * 配置中配置的RabbitTemplate的是prototype类型,不能直接注入 |
| | | */ |
| | | private RabbitTemplate rabbitTemplate; |
| | | /** |
| | | * 配置中配置的RabbitTemplate的是prototype类型,不能直接注入 |
| | | */ |
| | | private RabbitTemplate rabbitTemplate; |
| | | |
| | | /** |
| | | * 在构造方法上注入RabbitTemplate |
| | | * |
| | | * @param |
| | | */ |
| | | @Autowired |
| | | public OrderProducer(RabbitTemplate rabbitTemplate) { |
| | | this.rabbitTemplate = rabbitTemplate; |
| | | rabbitTemplate.setConfirmCallback(this); |
| | | } |
| | | /** |
| | | * 在构造方法上注入RabbitTemplate |
| | | * |
| | | * @param |
| | | */ |
| | | @Autowired |
| | | public OrderProducer(RabbitTemplate rabbitTemplate) { |
| | | this.rabbitTemplate = rabbitTemplate; |
| | | rabbitTemplate.setConfirmCallback(this); |
| | | } |
| | | |
| | | /** |
| | | * P发送消息方法 开多止盈 |
| | | */ |
| | | public void sendMorePro(String content) { |
| | | CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString()); |
| | | System.out.println("发送开多止盈:"+content+"==pid:"+correlationData.getId()); |
| | | /** |
| | | * P发送消息方法 开多止盈 |
| | | */ |
| | | public void sendMorePro(String content) { |
| | | CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString()); |
| | | System.out.println("发送开多止盈:" + content + "==pid:" + correlationData.getId()); |
| | | |
| | | rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_A, RabbitMqConfig.ROUTINGKEY_MOREPRO, content, correlationData); |
| | | } |
| | | rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_A, RabbitMqConfig.ROUTINGKEY_MOREPRO, content, correlationData); |
| | | } |
| | | |
| | | /** |
| | | * 开空止盈 |
| | | * @param content |
| | | */ |
| | | public void sendLessPro(String content) { |
| | | CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString()); |
| | | System.out.println("发送开空止盈:"+content+"==pid:"+correlationData.getId()); |
| | | rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_A, RabbitMqConfig.ROUTINGKEY_LESSPRO, content, correlationData); |
| | | } |
| | | /** |
| | | * 开空止盈 |
| | | * |
| | | * @param content |
| | | */ |
| | | public void sendLessPro(String content) { |
| | | CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString()); |
| | | System.out.println("发送开空止盈:" + content + "==pid:" + correlationData.getId()); |
| | | rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_A, RabbitMqConfig.ROUTINGKEY_LESSPRO, content, correlationData); |
| | | } |
| | | |
| | | /** |
| | | * 开多止损 |
| | | * @param content |
| | | */ |
| | | public void sendMoreLoss(String content) { |
| | | CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString()); |
| | | System.out.println("发送开多止损:"+content+"==pid:"+correlationData.getId()); |
| | | rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_A, RabbitMqConfig.ROUTINGKEY_MORELOSS, content, correlationData); |
| | | } |
| | | /** |
| | | * 开多止损 |
| | | * |
| | | * @param content |
| | | */ |
| | | public void sendMoreLoss(String content) { |
| | | CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString()); |
| | | System.out.println("发送开多止损:" + content + "==pid:" + correlationData.getId()); |
| | | rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_A, RabbitMqConfig.ROUTINGKEY_MORELOSS, content, correlationData); |
| | | } |
| | | |
| | | /** |
| | | * 开空止损 |
| | | * @param content |
| | | */ |
| | | public void sendLessLoss(String content) { |
| | | CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString()); |
| | | System.out.println("发送开空止损:"+content+"==pid:"+correlationData.getId()); |
| | | rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_A, RabbitMqConfig.ROUTINGKEY_LESSLOSS, content, correlationData); |
| | | } |
| | | /** |
| | | * 开空止损 |
| | | * |
| | | * @param content |
| | | */ |
| | | public void sendLessLoss(String content) { |
| | | CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString()); |
| | | System.out.println("发送开空止损:" + content + "==pid:" + correlationData.getId()); |
| | | rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_A, RabbitMqConfig.ROUTINGKEY_LESSLOSS, content, correlationData); |
| | | } |
| | | |
| | | /** |
| | | * 发送委托交易消息 |
| | | * @param content |
| | | */ |
| | | public void sendLimit(String content){ |
| | | CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString()); |
| | | System.out.println("发送限价委托:"+content+"==pid:"+correlationData.getId()); |
| | | rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_A, RabbitMqConfig.ROUTINGKEY_LIMIT, content, correlationData); |
| | | } |
| | | /** |
| | | * 发送委托交易消息 |
| | | * |
| | | * @param content |
| | | */ |
| | | public void sendLimit(String content) { |
| | | CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString()); |
| | | System.out.println("发送限价委托:" + content + "==pid:" + correlationData.getId()); |
| | | rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_A, RabbitMqConfig.ROUTINGKEY_LIMIT, content, correlationData); |
| | | } |
| | | |
| | | /** |
| | | * 发送爆仓消息 |
| | | * @param content |
| | | */ |
| | | public void sendCoinout(String content){ |
| | | CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString()); |
| | | System.out.println("发送爆仓:"+content+"==pid:"+correlationData.getId()); |
| | | rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_A, RabbitMqConfig.ROUTINGKEY_COINOUT, content, correlationData); |
| | | } |
| | | /** |
| | | * 发送爆仓消息 |
| | | * |
| | | * @param content |
| | | */ |
| | | public void sendCoinout(String content) { |
| | | CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString()); |
| | | System.out.println("发送爆仓:" + content + "==pid:" + correlationData.getId()); |
| | | rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_A, RabbitMqConfig.ROUTINGKEY_COINOUT, content, correlationData); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 发送价格操作消息 |
| | | * @param content |
| | | */ |
| | | public void sendPriceOperate(String content){ |
| | | CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString()); |
| | | System.out.println("发送价格操作:"+content+"==pid:"+correlationData.getId()); |
| | | rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_A, RabbitMqConfig.ROUTINGKEY_PRICEOPERATE, content, correlationData); |
| | | } |
| | | /** |
| | | * 发送价格操作消息 |
| | | * |
| | | * @param content |
| | | */ |
| | | public void sendPriceOperate(String content) { |
| | | CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString()); |
| | | log.info("发送价格操作 : {}==pid : {}", content, correlationData.getId()); |
| | | rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_A, RabbitMqConfig.ROUTINGKEY_PRICEOPERATE, content, correlationData); |
| | | } |
| | | |
| | | /** |
| | | * 发送平仓 |
| | | * @param content |
| | | */ |
| | | public void sendCloseTrade(String content){ |
| | | CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString()); |
| | | System.out.println("发送平仓消息:"+content+"==pid:"+correlationData.getId()); |
| | | rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_A, RabbitMqConfig.ROUTINGKEY_CLOSETRADE, content, correlationData); |
| | | } |
| | | /** |
| | | * 发送平仓 |
| | | * |
| | | * @param content |
| | | */ |
| | | public void sendCloseTrade(String content) { |
| | | CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString()); |
| | | log.info("发送平仓消息:{}==pid : {}", content, correlationData.getId()); |
| | | rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_A, RabbitMqConfig.ROUTINGKEY_CLOSETRADE, content, correlationData); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 用于确认消息是否成功发送到队列 |
| | | */ |
| | | @Override |
| | | public void confirm(CorrelationData correlationData, boolean ack, String cause) { |
| | | if (ack) { |
| | | //System.out.println("消息发送成功"+correlationData.getId()); |
| | | //LogUtil.info("消息发送成功,correlationId={}", correlationData.getId()); |
| | | } else { |
| | | System.out.println("消息发送失败"+correlationData.getId()); |
| | | //LogUtil.info("消息发送失败,correlationId={}", correlationData.getId()); |
| | | } |
| | | } |
| | | /** |
| | | * 用于确认消息是否成功发送到队列 |
| | | */ |
| | | @Override |
| | | public void confirm(CorrelationData correlationData, boolean ack, String cause) { |
| | | if (ack) { |
| | | //System.out.println("消息发送成功"+correlationData.getId()); |
| | | //LogUtil.info("消息发送成功,correlationId={}", correlationData.getId()); |
| | | } else { |
| | | System.out.println("消息发送失败" + correlationData.getId()); |
| | | //LogUtil.info("消息发送失败,correlationId={}", correlationData.getId()); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |