Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.vcredit.lrh.message.service.base.client; import com.fasterxml.jackson.core.JsonProcessingException; import com.vcredit.lrh.commons.client.AbstractClient; import com.vcredit.lrh.commons.constants.MessageType; import com.vcredit.lrh.commons.constants.ScheduleTaskType; import com.vcredit.lrh.commons.message.APPMessage; import com.vcredit.lrh.commons.message.RabbitMessage; import com.vcredit.lrh.message.service.base.RabbitMQProperties; import com.vcredit.lrh.message.service.base.model.SMSNotification; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.core.MessageBuilder; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; /** * ? ? ? * * @author Liu Jianwei * @date 2016-12-20 19:22:58 */ public class MessageSerivceClient extends AbstractClient { private static final Logger logger = LoggerFactory.getLogger(MessageSerivceClient.class); // @Autowired // @LoadBalanced // RestTemplate restTemplate; @Autowired RabbitTemplate rabbitTemplate; @Autowired RabbitMQProperties properties; /** * ??APP * * @param messageObject */ public void pushAPPMessage(APPMessage messageObject) { try { RabbitMessage rabbitMessage = new RabbitMessage(MessageType.APP_MESSAGE_PUSH, messageObject); org.springframework.amqp.core.Message message = MessageBuilder.withBody(rabbitMessage.getBytes()) .build(); rabbitTemplate.send(properties.getMessageRouteKey(), message); } catch (JsonProcessingException ex) { logger.error("MessageSerivceClient.pushAPPMessage: " + ex.getMessage(), ex); } } public void userDimission(String agentId) { try { RabbitMessage rabbitMessage = new RabbitMessage(MessageType.USER_DIMISSION, agentId); org.springframework.amqp.core.Message message = MessageBuilder.withBody(rabbitMessage.getBytes()) .build(); rabbitTemplate.send(properties.getUserDissMissionRouteKey(), message); } catch (JsonProcessingException e) { logger.error("MessageSerivceClient.sendScheduleTaskMessage: " + e.getMessage(), e); } } /** * ? * @param taskType * @param content */ public void sendScheduleTaskMessage(ScheduleTaskType taskType, String content) { try { RabbitMessage rabbitMessage = new RabbitMessage(taskType.toString(), content); org.springframework.amqp.core.Message message = MessageBuilder.withBody(rabbitMessage.getBytes()) .build(); rabbitTemplate.send(properties.getScheduleTaskRouteKey(), message); } catch (JsonProcessingException ex) { logger.error("MessageSerivceClient.sendScheduleTaskMessage: " + ex.getMessage(), ex); } } /** * * * @param notification */ public void smsNotification(SMSNotification notification) { } @Override public String getServiceUrl(String subPath) { return "http://lrh-message-service" + subPath; } }