消息发送方式一: public void orderMessage(OrderHeadInfo orderHeadInfo){ String s = UUID.randomUUID().toString(); MethodGroupExecRequest methodGroupExecRequest = new MethodGroupExecRequest(); methodGroupExecRequest.setBizId(orderHeadInfo.getId()); methodGroupExecRequest.setStatus(orderHeadInfo.getOrderStatus()); methodGroupExecRequest.setMethodGroupCode(orderHeadInfo.getMethodGroupCode()); methodGroupExecRequest.setMethodGroupVersion(orderHeadInfo.getMethodGroupVersion().intValue()); methodGroupExecRequest.setBizType(orderHeadInfo.getSuOrderType()); DefaultMQProducer producer = new DefaultMQProducer("GROUP-ITC-METHOD-GROUP-STATUS-CHANGE"); try { producer.setNamesrvAddr(nameServer); producer.start(); Message msg = new Message("TOPIC-ITC-RULE-METHOD-GROUP-STATUS-CHANGE", "TAG-BIZ-STATUS-CHANGE", s,methodGroupExecRequest.toString().getBytes(RemotingHelper.DEFAULT_CHARSET)); producer.send(Collections.singleton(msg)); LOG.info("==========onSuccess"); } catch (Exception e) { LOG.info("=============onException", e); throw new BizException(OrdErrorReturnCode.BASE_SEND_METHOD_GROUP_ERROR); } producer.shutdown(); }
方式二:
/*** * 发送物流信息给例程集 * */ public void sendOrderMessage(RelatedLogist logistHeadInfo) { String destination = mqTopic + ":" + mqTag; MethodGroupExecRequest methodGroupExecRequest = new MethodGroupExecRequest(); methodGroupExecRequest.setBizId(logistHeadInfo.getId()); methodGroupExecRequest.setStatus(logistHeadInfo.getOrderStatus()); methodGroupExecRequest.setMethodGroupCode(logistHeadInfo.getMethodGroupCode()); try { if (ObjectUtil.isNotEmpty(methodGroupExecRequest)) { Message genericMessage = new GenericMessage(methodGroupExecRequest); //发送消息 destination 参数为 topic:tag 或者 topic transMQSharding.syncSend(destination, genericMessage); LOG.info("==========onSuccess" + JSONUtil.parse(logistHeadInfo)); } } catch (Exception e) { LOG.info("=============onException", e); throw new BizException(LogistErrorReturnCode.BASE_SEND_METHOD_GROUP_ERROR); } }