diff --git a/rocketmq-client/src/producer/default_mq_producer.rs b/rocketmq-client/src/producer/default_mq_producer.rs index 932d3edfe..aaac9cee5 100644 --- a/rocketmq-client/src/producer/default_mq_producer.rs +++ b/rocketmq-client/src/producer/default_mq_producer.rs @@ -1154,14 +1154,15 @@ impl MQProducer for DefaultMQProducer { .await } - async fn send_batch_to_queue_with_callback_timeout( + async fn send_batch_to_queue_with_callback_timeout( &mut self, - msgs: Vec, + msgs: Vec, mq: MessageQueue, f: F, timeout: u64, ) -> rocketmq_error::RocketMQResult<()> where + M: MessageTrait + Send + Sync, F: Fn(Option<&SendResult>, Option<&dyn std::error::Error>) + Send + Sync + 'static, { let batch = self.batch(msgs)?; diff --git a/rocketmq-client/src/producer/mq_producer.rs b/rocketmq-client/src/producer/mq_producer.rs index 1490ce710..f3e35539b 100644 --- a/rocketmq-client/src/producer/mq_producer.rs +++ b/rocketmq-client/src/producer/mq_producer.rs @@ -607,14 +607,15 @@ pub trait MQProducer { /// # Returns /// /// * `rocketmq_error::RocketMQResult<()>` - An empty result indicating success or failure. - async fn send_batch_to_queue_with_callback_timeout( + async fn send_batch_to_queue_with_callback_timeout( &mut self, - msgs: Vec, + msgs: Vec, mq: MessageQueue, f: F, timeout: u64, ) -> rocketmq_error::RocketMQResult<()> where + M: MessageTrait + Send + Sync, F: Fn(Option<&SendResult>, Option<&dyn std::error::Error>) + Send + Sync + 'static; /// Sends a request message. diff --git a/rocketmq-client/src/producer/transaction_mq_producer.rs b/rocketmq-client/src/producer/transaction_mq_producer.rs index 15d7a208c..317072782 100644 --- a/rocketmq-client/src/producer/transaction_mq_producer.rs +++ b/rocketmq-client/src/producer/transaction_mq_producer.rs @@ -434,14 +434,15 @@ impl MQProducer for TransactionMQProducer { .await } - async fn send_batch_to_queue_with_callback_timeout( + async fn send_batch_to_queue_with_callback_timeout( &mut self, - msgs: Vec, + msgs: Vec, mq: MessageQueue, f: F, timeout: u64, ) -> rocketmq_error::RocketMQResult<()> where + M: MessageTrait + Send + Sync, F: Fn(Option<&SendResult>, Option<&dyn std::error::Error>) + Send + Sync + 'static, { self.default_producer