Expose message-id and transaction-id out of Transaction
diff --git a/api/rocketmq/Transaction.h b/api/rocketmq/Transaction.h index bc39c79..b519b27 100644 --- a/api/rocketmq/Transaction.h +++ b/api/rocketmq/Transaction.h
@@ -2,6 +2,7 @@ #include <cstdint> #include <memory> +#include <string> #include "RocketMQ.h" @@ -16,6 +17,10 @@ virtual bool commit() = 0; virtual bool rollback() = 0; + + virtual std::string messageId() const = 0; + + virtual std::string transactionId() const = 0; }; using TransactionPtr = std::unique_ptr<Transaction>;
diff --git a/src/main/cpp/rocketmq/TransactionImpl.cpp b/src/main/cpp/rocketmq/TransactionImpl.cpp index d59518f..4a4a65a 100644 --- a/src/main/cpp/rocketmq/TransactionImpl.cpp +++ b/src/main/cpp/rocketmq/TransactionImpl.cpp
@@ -1,5 +1,6 @@ #include "TransactionImpl.h" #include "ProducerImpl.h" +#include <string> ROCKETMQ_NAMESPACE_BEGIN @@ -20,4 +21,8 @@ return producer->rollback(message_id_, transaction_id_, trace_context_, endpoint_); } +std::string TransactionImpl::messageId() const { return message_id_; } + +std::string TransactionImpl::transactionId() const { return transaction_id_; } + ROCKETMQ_NAMESPACE_END \ No newline at end of file
diff --git a/src/main/cpp/rocketmq/include/TransactionImpl.h b/src/main/cpp/rocketmq/include/TransactionImpl.h index 0074a54..7fac135 100644 --- a/src/main/cpp/rocketmq/include/TransactionImpl.h +++ b/src/main/cpp/rocketmq/include/TransactionImpl.h
@@ -22,6 +22,10 @@ bool rollback() override; + std::string messageId() const override; + + std::string transactionId() const override; + private: std::string message_id_; std::string transaction_id_;