i757 opened a new issue #2691:
URL: https://github.com/apache/rocketmq/issues/2691


   前提:使用的是spring-cloud-starter-stream-rocketmq 2.2.3版本
   
   1. 自定义发送消息的通道
   ```
   public interface ProducerChannel {
   
       String OBJECT_TX = "object_tx";
   
       @Output(ProducerChannel.OBJECT_TX)
       MessageChannel objectTx();
   
   }
   ```
   使用了注解@EnableBinding({ProducerChannel.class})
   
   2. application.yml配置binding信息
   ```
   spring:
     cloud:
       stream:
         bindings:
           #事务消息
           object_tx:
             destination: object_tx_msg
             producer:
               transactional: true
               group: myTxProducerGroup
   ```
   
   3. 实现RocketMQLocalTransactionListener
   ```
   @RocketMQTransactionListener(txProducerGroup = "myTxProducerGroup", 
corePoolSize = 5,maximumPoolSize = 10)
   public class TransactionListenerImpl implements 
RocketMQLocalTransactionListener {
   
       @Override
       public RocketMQLocalTransactionState executeLocalTransaction(Message 
msg, Object arg) {
           System.out.println(JSON.toJSONString(msg) + "     " + 
JSON.toJSONString(arg));
           return RocketMQLocalTransactionState.UNKNOWN;
       }
   
       @Override
       public RocketMQLocalTransactionState checkLocalTransaction(Message msg) {
           System.out.println(msg.getPayload());
           return RocketMQLocalTransactionState.COMMIT;
       }
   }
   ```
   
但是,object_tx通道设置的producer属性没有被加载到ExtendedProducerProperties<RocketMQProducerProperties>里面,导致事务消息没有成功。
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to