Hi, The links you mentioned just are interfaces, we should implement these APIs.
Regards, yukon On Tue, Feb 27, 2018 at 12:07 PM, 李 德鑫 <[email protected]> wrote: > My previous email didn't clarify the question clearly, so I'll try to make > it in detail. > > > In this jira's(https://issues.apache.org/jira/browse/ROCKETMQ-123) > description: > > > > > Implement a TransactionProducer and LocalTransactionChecker, guarantee > message delivery and local transaction operations are atomic. > > The following is the simple transactional messaging flow: > > 1. TransactionProducer sends a half message to the broker. A half message > means it's not confirmed and can't be delivered to the consumer. > > 2. TransactionProducer executes the specific local transaction. > > 3. Commit or Rollback the half message according to the status of the > local transaction. A half message will be deleted if it's rollbacked and > delivered to the consumer if it's committed. > > > > The 1st step I found in https://github.com/apache/ > rocketmq/blob/master/client/src/main/java/org/apache/ > rocketmq/client/impl/producer/DefaultMQProducerImpl.java#L964 > > The 2nd step I found in https://github.com/apache/ > rocketmq/blob/master/client/src/main/java/org/apache/ > rocketmq/client/impl/producer/DefaultMQProducerImpl.java#L977 > > The 3rd step I found in https://github.com/apache/ > rocketmq/blob/master/client/src/main/java/org/apache/ > rocketmq/client/impl/producer/DefaultMQProducerImpl.java#L1026 for client > and https://github.com/apache/rocketmq/blob/master/broker/ > src/main/java/org/apache/rocketmq/broker/processor/ > EndTransactionProcessor.java#L49 for broker > > > And my question is what is the part to be implemented for this issue? Is > there anything I missed? > > > > ________________________________ > 发件人: 李 德鑫 <[email protected]> > 发送时间: 2018年2月23日 9:35:17 > 收件人: [email protected] > 主题: [GSOC|ROCKETMQ-123]Support Distributed Transactional Messaging > > Hi, > > I am working on this issue > (https://issues.apache.org/jira/browse/ROCKETMQ-123) as my GSOC project > [ROCKETMQ-123] Support Distributed Transactional Messaging ...< > https://issues.apache.org/jira/browse/ROCKETMQ-123> > In most businesses, transactional messaging is frequently used to make a > series of operations as an atomic transaction. At present, RocketMQ doesn't > support ... > issues.apache.org > > > > However, there already have > TransactionMQProducer > > https://github.com/apache/rocketmq/blob/master/client/ > src/main/java/org/apache/rocketmq/client/producer/ > TransactionMQProducer.java<https://github.com/apache/ > rocketmq/blob/master/client/src/main/java/org/apache/ > rocketmq/client/producer/TransactionMQProducer.java#L23> > [https://avatars3.githubusercontent.com/u/47359?s=400&v=4]< > https://github.com/apache/rocketmq/blob/master/client/src/main/java/org/ > apache/rocketmq/client/producer/TransactionMQProducer.java#L23> > > apache/rocketmq<https://github.com/apache/rocketmq/ > blob/master/client/src/main/java/org/apache/rocketmq/client/producer/ > TransactionMQProducer.java#L23> > rocketmq - Mirror of Apache RocketMQ > github.com > > and TransactionCheckListener > https://github.com/apache/rocketmq/blob/master/client/ > src/main/java/org/apache/rocketmq/client/producer/ > TransactionCheckListener.java > > So, what is the part I should implement for this issue? > > Regards, > Dexin Li > >
