apache / apache/rocketmq-client-go

Why does the RocketMQ Java client SDK let transaction producers and normal producers share the same defaultMQProducerImpl for sending messages, while the Go SDK requires creating two separate defaultMQProducerImpl instances?

Open
#1,224 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
1.4k
Forks
445
PR merge metrics
No merged PRs in 30d

Description

在Go版本里面 NewTransactionProducer 和 NewProducer 会创建出2个defaultProducer JAVA 创建一个事务生产者 就可以同时发送普通和事务消息,Go里面非得创建2个这是为啥呢

Contributor guide

Open the contributing guide

Research direction

Start at the Go NewTransactionProducer and NewProducer entry points, then compare the Java transaction producer setup. Trace how each creates and uses defaultProducerImpl, and document the reason for the difference and whether sharing is supported. Done means the behavior and design rationale are clearly explained.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, java
Domain
distributed-systems
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.