public void handleTransactionChecker()

in rocketmq-v5-client-spring-boot/src/main/java/org/apache/rocketmq/client/autoconfigure/RocketMQTransactionConfiguration.java [56:69]


    public void handleTransactionChecker(String beanName, Object bean) {
        Class<?> clazz = AopProxyUtils.ultimateTargetClass(bean);
        if (!TransactionChecker.class.isAssignableFrom(bean.getClass())) {
            throw new IllegalStateException(clazz + " is not instance of " + TransactionChecker.class.getName());
        }
        RocketMQTransactionListener annotation = clazz.getAnnotation(RocketMQTransactionListener.class);
        if (Objects.isNull(annotation)) {
            throw new IllegalStateException("The transactionListener annotation is missing");
        }
        RocketMQClientTemplate rocketMQTemplate = (RocketMQClientTemplate) applicationContext.getBean(annotation.rocketMQTemplateBeanName());
        if ((rocketMQTemplate.getProducerBuilder()) != null) {
            rocketMQTemplate.getProducerBuilder().setTransactionChecker((TransactionChecker) bean);
        }
    }