[agent] start rabbitmq , continue a lot
This commit is contained in:
55
server/src/main/java/io/wdd/rpc/message/ToAgentOrder.java
Normal file
55
server/src/main/java/io/wdd/rpc/message/ToAgentOrder.java
Normal file
@@ -0,0 +1,55 @@
|
||||
package io.wdd.rpc.message;
|
||||
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import io.wdd.common.beans.rabbitmq.OctopusMessage;
|
||||
import io.wdd.common.beans.rabbitmq.OctopusMessageType;
|
||||
import io.wdd.common.handler.MyRuntimeException;
|
||||
import io.wdd.rpc.init.FromServerMessageBinding;
|
||||
import lombok.SneakyThrows;
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.actuate.amqp.RabbitHealthIndicator;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* adaptor
|
||||
* provide override method to convert Object and send to rabbitmq
|
||||
*/
|
||||
@Component
|
||||
public class ToAgentOrder {
|
||||
|
||||
@Resource
|
||||
RabbitTemplate rabbitTemplate;
|
||||
|
||||
@Resource
|
||||
FromServerMessageBinding fromServerMessageBinding;
|
||||
|
||||
/**
|
||||
*
|
||||
* send to Queue -- InitFromServer
|
||||
*
|
||||
* @param message octopus message
|
||||
*/
|
||||
public void send(OctopusMessage message){
|
||||
|
||||
// only accept INIT type message
|
||||
if (!OctopusMessageType.INIT.equals(message.getType())) {
|
||||
throw new MyRuntimeException("To Agent Order method usage wrong !");
|
||||
}
|
||||
|
||||
// send to Queue -- InitFromServer
|
||||
|
||||
rabbitTemplate.convertAndSend(fromServerMessageBinding.INIT_EXCHANGE, fromServerMessageBinding.INIT_FROM_SERVER_KEY, writeData(message));
|
||||
|
||||
}
|
||||
|
||||
@SneakyThrows
|
||||
private byte[] writeData(Object data){
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
return objectMapper.writeValueAsBytes(data);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user