From ca721b0145994d7f5e67b4d2fe3b7a4ad7a1c132 Mon Sep 17 00:00:00 2001 From: zhanghong <985492783@qq.com> Date: Tue, 21 Nov 2023 14:03:24 +0800 Subject: [PATCH] [ISSUE #7462] Remove deprecated LocalTransactionExecuter (#7463) --- .../impl/producer/DefaultMQProducerImpl.java | 9 +++---- .../client/producer/DefaultMQProducer.java | 16 ----------- .../producer/LocalTransactionExecuter.java | 27 ------------------- .../rocketmq/client/producer/MQProducer.java | 3 --- .../producer/TransactionMQProducer.java | 16 ----------- .../client.producer.DefaultMQProducer.schema | 1 - 6 files changed, 4 insertions(+), 68 deletions(-) delete mode 100644 client/src/main/java/org/apache/rocketmq/client/producer/LocalTransactionExecuter.java diff --git a/client/src/main/java/org/apache/rocketmq/client/impl/producer/DefaultMQProducerImpl.java b/client/src/main/java/org/apache/rocketmq/client/impl/producer/DefaultMQProducerImpl.java index b0c212e46b6..545f17d931a 100644 --- a/client/src/main/java/org/apache/rocketmq/client/impl/producer/DefaultMQProducerImpl.java +++ b/client/src/main/java/org/apache/rocketmq/client/impl/producer/DefaultMQProducerImpl.java @@ -54,7 +54,6 @@ import org.apache.rocketmq.client.latency.Resolver; import org.apache.rocketmq.client.latency.ServiceDetector; import org.apache.rocketmq.client.producer.DefaultMQProducer; -import org.apache.rocketmq.client.producer.LocalTransactionExecuter; import org.apache.rocketmq.client.producer.LocalTransactionState; import org.apache.rocketmq.client.producer.MessageQueueSelector; import org.apache.rocketmq.client.producer.RequestCallback; @@ -1379,10 +1378,10 @@ public void sendOneway(Message msg, MessageQueueSelector selector, Object arg) } public TransactionSendResult sendMessageInTransaction(final Message msg, - final LocalTransactionExecuter localTransactionExecuter, final Object arg) + final TransactionListener localTransactionListener, final Object arg) throws MQClientException { TransactionListener transactionListener = getCheckListener(); - if (null == localTransactionExecuter && null == transactionListener) { + if (null == localTransactionListener && null == transactionListener) { throw new MQClientException("tranExecutor is null", null); } @@ -1414,8 +1413,8 @@ public TransactionSendResult sendMessageInTransaction(final Message msg, if (null != transactionId && !"".equals(transactionId)) { msg.setTransactionId(transactionId); } - if (null != localTransactionExecuter) { - localTransactionState = localTransactionExecuter.executeLocalTransactionBranch(msg, arg); + if (null != localTransactionListener) { + localTransactionState = localTransactionListener.executeLocalTransaction(msg, arg); } else { log.debug("Used new transaction API"); localTransactionState = transactionListener.executeLocalTransaction(msg, arg); diff --git a/client/src/main/java/org/apache/rocketmq/client/producer/DefaultMQProducer.java b/client/src/main/java/org/apache/rocketmq/client/producer/DefaultMQProducer.java index c5b1b52230a..7bd3876f5a1 100644 --- a/client/src/main/java/org/apache/rocketmq/client/producer/DefaultMQProducer.java +++ b/client/src/main/java/org/apache/rocketmq/client/producer/DefaultMQProducer.java @@ -853,22 +853,6 @@ public void sendOneway(Message msg, MessageQueueSelector selector, Object arg) this.defaultMQProducerImpl.sendOneway(msg, selector, arg); } - /** - * This method is to send transactional messages. - * - * @param msg Transactional message to send. - * @param tranExecuter local transaction executor. - * @param arg Argument used along with local transaction executor. - * @return Transaction result. - * @throws MQClientException if there is any client error. - */ - @Override - public TransactionSendResult sendMessageInTransaction(Message msg, LocalTransactionExecuter tranExecuter, - final Object arg) - throws MQClientException { - throw new RuntimeException("sendMessageInTransaction not implement, please use TransactionMQProducer class"); - } - /** * This method is used to send transactional messages. * diff --git a/client/src/main/java/org/apache/rocketmq/client/producer/LocalTransactionExecuter.java b/client/src/main/java/org/apache/rocketmq/client/producer/LocalTransactionExecuter.java deleted file mode 100644 index 267ba10bd91..00000000000 --- a/client/src/main/java/org/apache/rocketmq/client/producer/LocalTransactionExecuter.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.rocketmq.client.producer; - -import org.apache.rocketmq.common.message.Message; - -/** - * @deprecated This interface will be removed in the version 5.0.0, interface {@link TransactionListener} is recommended. - */ -@Deprecated -public interface LocalTransactionExecuter { - LocalTransactionState executeLocalTransactionBranch(final Message msg, final Object arg); -} diff --git a/client/src/main/java/org/apache/rocketmq/client/producer/MQProducer.java b/client/src/main/java/org/apache/rocketmq/client/producer/MQProducer.java index 78657e623ef..8bd30e98d7b 100644 --- a/client/src/main/java/org/apache/rocketmq/client/producer/MQProducer.java +++ b/client/src/main/java/org/apache/rocketmq/client/producer/MQProducer.java @@ -81,9 +81,6 @@ void send(final Message msg, final MessageQueueSelector selector, final Object a void sendOneway(final Message msg, final MessageQueueSelector selector, final Object arg) throws MQClientException, RemotingException, InterruptedException; - TransactionSendResult sendMessageInTransaction(final Message msg, - final LocalTransactionExecuter tranExecuter, final Object arg) throws MQClientException; - TransactionSendResult sendMessageInTransaction(final Message msg, final Object arg) throws MQClientException; diff --git a/client/src/main/java/org/apache/rocketmq/client/producer/TransactionMQProducer.java b/client/src/main/java/org/apache/rocketmq/client/producer/TransactionMQProducer.java index baa8b440805..d529f3e778c 100644 --- a/client/src/main/java/org/apache/rocketmq/client/producer/TransactionMQProducer.java +++ b/client/src/main/java/org/apache/rocketmq/client/producer/TransactionMQProducer.java @@ -67,22 +67,6 @@ public void shutdown() { this.defaultMQProducerImpl.destroyTransactionEnv(); } - /** - * This method will be removed in the version 5.0.0, method sendMessageInTransaction(Message,Object)} - * is recommended. - */ - @Override - @Deprecated - public TransactionSendResult sendMessageInTransaction(final Message msg, - final LocalTransactionExecuter tranExecuter, final Object arg) throws MQClientException { - if (null == this.transactionCheckListener) { - throw new MQClientException("localTransactionBranchCheckListener is null", null); - } - - msg.setTopic(NamespaceUtil.wrapNamespace(this.getNamespace(), msg.getTopic())); - return this.defaultMQProducerImpl.sendMessageInTransaction(msg, tranExecuter, arg); - } - @Override public TransactionSendResult sendMessageInTransaction(final Message msg, final Object arg) throws MQClientException { diff --git a/test/src/test/resources/schema/api/client.producer.DefaultMQProducer.schema b/test/src/test/resources/schema/api/client.producer.DefaultMQProducer.schema index 0418c73fe55..d1111fb4572 100644 --- a/test/src/test/resources/schema/api/client.producer.DefaultMQProducer.schema +++ b/test/src/test/resources/schema/api/client.producer.DefaultMQProducer.schema @@ -122,7 +122,6 @@ Method send(org.apache.rocketmq.client.producer.SendCallback,org.apache.rocketmq Method send(org.apache.rocketmq.client.producer.SendCallback,org.apache.rocketmq.common.message.Message,org.apache.rocketmq.common.message.MessageQueue) : public throws (void) Method send(org.apache.rocketmq.common.message.Message) : public throws (org.apache.rocketmq.client.producer.SendResult) Method send(org.apache.rocketmq.common.message.Message,org.apache.rocketmq.common.message.MessageQueue) : public throws (org.apache.rocketmq.client.producer.SendResult) -Method sendMessageInTransaction(java.lang.Object,org.apache.rocketmq.client.producer.LocalTransactionExecuter,org.apache.rocketmq.common.message.Message) : public throws (org.apache.rocketmq.client.producer.TransactionSendResult) Method sendMessageInTransaction(java.lang.Object,org.apache.rocketmq.common.message.Message) : public throws (org.apache.rocketmq.client.producer.TransactionSendResult) Method sendOneway(java.lang.Object,org.apache.rocketmq.client.producer.MessageQueueSelector,org.apache.rocketmq.common.message.Message) : public throws (void) Method sendOneway(org.apache.rocketmq.common.message.Message) : public throws (void)