|
|
@ -24,6 +24,7 @@ import com.alibaba.cloud.stream.binder.rocketmq.properties.RocketMQProducerPrope
|
|
|
|
import com.alibaba.cloud.stream.binder.rocketmq.utils.RocketMQUtils;
|
|
|
|
import com.alibaba.cloud.stream.binder.rocketmq.utils.RocketMQUtils;
|
|
|
|
import org.apache.rocketmq.acl.common.AclClientRPCHook;
|
|
|
|
import org.apache.rocketmq.acl.common.AclClientRPCHook;
|
|
|
|
import org.apache.rocketmq.acl.common.SessionCredentials;
|
|
|
|
import org.apache.rocketmq.acl.common.SessionCredentials;
|
|
|
|
|
|
|
|
import org.apache.rocketmq.client.AccessChannel;
|
|
|
|
import org.apache.rocketmq.client.hook.CheckForbiddenHook;
|
|
|
|
import org.apache.rocketmq.client.hook.CheckForbiddenHook;
|
|
|
|
import org.apache.rocketmq.client.hook.SendMessageHook;
|
|
|
|
import org.apache.rocketmq.client.hook.SendMessageHook;
|
|
|
|
import org.apache.rocketmq.client.producer.DefaultMQProducer;
|
|
|
|
import org.apache.rocketmq.client.producer.DefaultMQProducer;
|
|
|
@ -78,11 +79,12 @@ public final class RocketMQProduceFactory {
|
|
|
|
if (RocketMQProducerProperties.ProducerType.Trans
|
|
|
|
if (RocketMQProducerProperties.ProducerType.Trans
|
|
|
|
.equalsName(producerProperties.getProducerType())) {
|
|
|
|
.equalsName(producerProperties.getProducerType())) {
|
|
|
|
producer = new TransactionMQProducer(producerProperties.getNamespace(),
|
|
|
|
producer = new TransactionMQProducer(producerProperties.getNamespace(),
|
|
|
|
producerProperties.getGroup(), rpcHook);
|
|
|
|
producerProperties.getGroup(), rpcHook, producerProperties.getEnableMsgTrace(),
|
|
|
|
|
|
|
|
producerProperties.getCustomizedTraceTopic());
|
|
|
|
if (producerProperties.getEnableMsgTrace()) {
|
|
|
|
if (producerProperties.getEnableMsgTrace()) {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
AsyncTraceDispatcher dispatcher = new AsyncTraceDispatcher(
|
|
|
|
AsyncTraceDispatcher dispatcher = new AsyncTraceDispatcher(
|
|
|
|
producerProperties.getGroup(), TraceDispatcher.Type.PRODUCE,
|
|
|
|
producerProperties.getGroup(), TraceDispatcher.Type.PRODUCE, 10,
|
|
|
|
producerProperties.getCustomizedTraceTopic(), rpcHook);
|
|
|
|
producerProperties.getCustomizedTraceTopic(), rpcHook);
|
|
|
|
dispatcher.setHostProducer(producer.getDefaultMQProducerImpl());
|
|
|
|
dispatcher.setHostProducer(producer.getDefaultMQProducerImpl());
|
|
|
|
Field field = DefaultMQProducer.class
|
|
|
|
Field field = DefaultMQProducer.class
|
|
|
@ -110,6 +112,7 @@ public final class RocketMQProduceFactory {
|
|
|
|
producer.setInstanceName(
|
|
|
|
producer.setInstanceName(
|
|
|
|
RocketMQUtils.getInstanceName(rpcHook, topic + "|" + UtilAll.getPid()));
|
|
|
|
RocketMQUtils.getInstanceName(rpcHook, topic + "|" + UtilAll.getPid()));
|
|
|
|
producer.setNamesrvAddr(producerProperties.getNameServer());
|
|
|
|
producer.setNamesrvAddr(producerProperties.getNameServer());
|
|
|
|
|
|
|
|
producer.setNamespaceV2(producerProperties.getNamespaceV2());
|
|
|
|
producer.setSendMsgTimeout(producerProperties.getSendMsgTimeout());
|
|
|
|
producer.setSendMsgTimeout(producerProperties.getSendMsgTimeout());
|
|
|
|
producer.setRetryTimesWhenSendFailed(
|
|
|
|
producer.setRetryTimesWhenSendFailed(
|
|
|
|
producerProperties.getRetryTimesWhenSendFailed());
|
|
|
|
producerProperties.getRetryTimesWhenSendFailed());
|
|
|
@ -122,6 +125,7 @@ public final class RocketMQProduceFactory {
|
|
|
|
producer.setMaxMessageSize(producerProperties.getMaxMessageSize());
|
|
|
|
producer.setMaxMessageSize(producerProperties.getMaxMessageSize());
|
|
|
|
producer.setUseTLS(producerProperties.getUseTLS());
|
|
|
|
producer.setUseTLS(producerProperties.getUseTLS());
|
|
|
|
producer.setUnitName(producerProperties.getUnitName());
|
|
|
|
producer.setUnitName(producerProperties.getUnitName());
|
|
|
|
|
|
|
|
producer.setAccessChannel(AccessChannel.valueOf(producerProperties.getAccessChannel()));
|
|
|
|
CheckForbiddenHook checkForbiddenHook = RocketMQBeanContainerCache.getBean(
|
|
|
|
CheckForbiddenHook checkForbiddenHook = RocketMQBeanContainerCache.getBean(
|
|
|
|
producerProperties.getCheckForbiddenHook(), CheckForbiddenHook.class);
|
|
|
|
producerProperties.getCheckForbiddenHook(), CheckForbiddenHook.class);
|
|
|
|
if (null != checkForbiddenHook) {
|
|
|
|
if (null != checkForbiddenHook) {
|
|
|
|