|
|
|
@@ -0,0 +1,60 @@ |
|
|
|
package com.iformall.mq; |
|
|
|
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.apache.rocketmq.client.producer.DefaultMQProducer; |
|
|
|
import org.apache.rocketmq.client.producer.SendCallback; |
|
|
|
import org.apache.rocketmq.client.producer.SendResult; |
|
|
|
import org.apache.rocketmq.common.message.Message; |
|
|
|
import org.apache.rocketmq.remoting.common.RemotingHelper; |
|
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import javax.annotation.PostConstruct; |
|
|
|
|
|
|
|
/** |
|
|
|
* @Auther: Stormeye |
|
|
|
* @Date: 2019-01-31 |
|
|
|
* @Description: RocketMQ消息生产者 |
|
|
|
*/ |
|
|
|
@Service |
|
|
|
@Slf4j |
|
|
|
public class MessageProducer { |
|
|
|
@Value("${spring.rocketmq.nameServer}") |
|
|
|
private String namesrvAddr; |
|
|
|
|
|
|
|
private static final DefaultMQProducer producer = new DefaultMQProducer("DefaultProducer"); |
|
|
|
|
|
|
|
@PostConstruct |
|
|
|
public void start(){ |
|
|
|
try { |
|
|
|
producer.setNamesrvAddr(namesrvAddr); |
|
|
|
producer.start(); |
|
|
|
log.info("Message Producer Start..."); |
|
|
|
}catch (Exception e){ |
|
|
|
log.error("Message Producer Start Error!!",e); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void sendMessage(String data, String topic, String tags, String keys) { |
|
|
|
try { |
|
|
|
byte[] messageBody = data.getBytes(RemotingHelper.DEFAULT_CHARSET); |
|
|
|
|
|
|
|
Message mqMsg = new Message(topic, tags, keys, messageBody); |
|
|
|
|
|
|
|
producer.send(mqMsg, new SendCallback() { |
|
|
|
@Override |
|
|
|
public void onSuccess(SendResult sendResult) { |
|
|
|
log.info("Message Producer: Send Message Success {}", sendResult); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void onException(Throwable throwable) { |
|
|
|
log.error("Message Producer: Send Message Error ", throwable); |
|
|
|
} |
|
|
|
}); |
|
|
|
} catch (Exception e) { |
|
|
|
log.error("Message Producer: Send Message Error ", e); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |