| | |
| | | // 平仓路由 |
| | | public static final String ROUTINGKEY_CLOSETRADE = "ROUTINGKEY_CLOSETRADE"; |
| | | |
| | | // ==================== Gate 策略管理 ==================== |
| | | /** Gate 管理交换机 */ |
| | | public static final String EXCHANGE_GATE = "biue-exchange-gate"; |
| | | /** 心跳+事件+确认 队列(Station 独占消费) */ |
| | | public static final String QUEUE_GATE_HEARTBEAT = "QUEUE_GATE_HEARTBEAT"; |
| | | /** 心跳+事件+确认 路由键 */ |
| | | public static final String ROUTINGKEY_GATE_HEARTBEAT = "ROUTINGKEY_GATE_HEARTBEAT"; |
| | | /** 策略事件队列(Station 消费落库) */ |
| | | public static final String QUEUE_GATE_STATS = "QUEUE_GATE_STATS"; |
| | | /** 策略事件路由键 */ |
| | | public static final String ROUTINGKEY_GATE_STATS = "ROUTINGKEY_GATE_STATS"; |
| | | |
| | | @Resource |
| | | private ConnectionFactory connectionFactory; |
| | | |
| | |
| | | return BindingBuilder.bind(queueCloseTrade()).to(orderExchange()).with(RabbitMqConfig.ROUTINGKEY_CLOSETRADE); |
| | | } |
| | | |
| | | // ==================== Gate 管理队列 ==================== |
| | | |
| | | @Bean |
| | | public DirectExchange gateExchange() { |
| | | return new DirectExchange(EXCHANGE_GATE); |
| | | } |
| | | |
| | | @Bean |
| | | public Queue gateHeartbeatQueue() { |
| | | return new Queue(QUEUE_GATE_HEARTBEAT, true); |
| | | } |
| | | |
| | | @Bean |
| | | public Binding bindingGateHeartbeat() { |
| | | return BindingBuilder.bind(gateHeartbeatQueue()).to(gateExchange()).with(ROUTINGKEY_GATE_HEARTBEAT); |
| | | } |
| | | |
| | | @Bean |
| | | public Queue gateStatsQueue() { |
| | | return new Queue(QUEUE_GATE_STATS, true); |
| | | } |
| | | |
| | | @Bean |
| | | public Binding bindingGateStats() { |
| | | return BindingBuilder.bind(gateStatsQueue()).to(gateExchange()).with(ROUTINGKEY_GATE_STATS); |
| | | } |
| | | |
| | | } |