Skip to content

Commit 6efaa5c

Browse files
committed
optimize producer
1 parent 768f862 commit 6efaa5c

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

rocketmq/src/main/java/org/apache/seata/integration/rocketmq/SeataMQProducer.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,11 @@ public class SeataMQProducer extends TransactionMQProducer {
5252
public static String PROPERTY_SEATA_BRANCHID = "TX_BRANCHID";
5353
private TransactionListener transactionListener;
5454

55-
public SeataMQProducer(final String producerGroup) {
55+
SeataMQProducer(final String producerGroup) {
5656
this(null, producerGroup, null);
5757
}
5858

59-
public SeataMQProducer(final String namespace, final String producerGroup, RPCHook rpcHook) {
59+
SeataMQProducer(final String namespace, final String producerGroup, RPCHook rpcHook) {
6060
super(namespace, producerGroup, rpcHook);
6161
this.transactionListener = new TransactionListener() {
6262
@Override

rocketmq/src/main/java/org/apache/seata/integration/rocketmq/SeataMQProducerFactory.java

+11-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@
1616
*/
1717
package org.apache.seata.integration.rocketmq;
1818

19+
import org.apache.rocketmq.remoting.RPCHook;
1920
import org.apache.seata.common.exception.NotSupportYetException;
21+
2022
import java.util.Map;
2123
import java.util.concurrent.ConcurrentHashMap;
2224

@@ -30,12 +32,18 @@ public class SeataMQProducerFactory {
3032
private static Map<String, SeataMQProducer> PRODUCER_MAP = new ConcurrentHashMap<>();
3133
private volatile static String SINGLE_PRODUCER_ID;
3234

33-
public SeataMQProducer create(String groupName, String producerId) {
35+
public static SeataMQProducer create(String producerId, String nameServer, String producerGroup) {
36+
return create(producerId, nameServer, null, producerGroup, null);
37+
}
38+
39+
public static SeataMQProducer create(String producerId, String nameServer, String namespace,
40+
String groupName, RPCHook rpcHook) {
3441
if (SINGLE_PRODUCER_ID == null) {
3542
synchronized (SeataMQProducerFactory.class) {
3643
if (SINGLE_PRODUCER_ID == null) {
3744
SINGLE_PRODUCER_ID = producerId;
38-
SeataMQProducer producer = new SeataMQProducer(groupName);
45+
SeataMQProducer producer = new SeataMQProducer(namespace, groupName, rpcHook);
46+
producer.setNamesrvAddr(nameServer);
3947
tccRocketMQ.setProducer(producer);
4048
PRODUCER_MAP.put(producerId, producer);
4149
}
@@ -48,7 +56,7 @@ public SeataMQProducer create(String groupName, String producerId) {
4856
return getProducer();
4957
}
5058

51-
public SeataMQProducer getProducer() {
59+
public static SeataMQProducer getProducer() {
5260
return PRODUCER_MAP.get(SINGLE_PRODUCER_ID);
5361
}
5462

0 commit comments

Comments
 (0)