[agent] start rabbitmq , continue a lot

This commit is contained in:
zeaslity
2022-11-29 23:13:58 +08:00
parent 1230fd1f9b
commit fbcb193a57
25 changed files with 374 additions and 21 deletions

View 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);
}
}