Flowable源码地址:https://github.com/flowable/flowable-engine
Flowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotated
事务上下文工厂类,包路径:org.flowable.common.engine.impl.cfg
TransactionContextFactory 事务上下文工厂类
/**
* 事务上下文工厂类
*
* @author Tom Baeyens
*/
public interface TransactionContextFactory {
TransactionContext openTransactionContext(CommandContext commandContext);
}
SpringTransactionContextFactory Spring事务上下文工厂类
package org.flowable.common.spring;
import org.flowable.common.engine.impl.cfg.TransactionContext;
import org.flowable.common.engine.impl.cfg.TransactionContextFactory;
import org.flowable.common.engine.impl.interceptor.CommandContext;
import org.springframework.transaction.PlatformTransactionManager;
/**
* Spring事务上下文工厂类
*
* @author Frederik Heremans
*/
public class SpringTransactionContextFactory implements TransactionContextFactory {
protected PlatformTransactionManager transactionManager;
protected Integer transactionSynchronizationAdapterOrder;
public SpringTransactionContextFactory(PlatformTransactionManager transactionManager) {
this(transactionManager, null);
}
public SpringTransactionContextFactory(PlatformTransactionManager transactionManager, Integer transactionSynchronizationAdapterOrder) {
this.transactionManager = transactionManager;
this.transactionSynchronizationAdapterOrder = transactionSynchronizationAdapterOrder;
}
@Override
public TransactionContext openTransactionContext(CommandContext commandContext) {
return new SpringTransactionContext(transactionManager, commandContext, transactionSynchronizationAdapterOrder);
}
}
StandaloneMybatisTransactionContextFactory 事务上下文工厂类
package org.flowable.common.engine.impl.cfg.standalone;
import org.flowable.common.engine.impl.cfg.TransactionContext;
import org.flowable.common.engine.impl.cfg.TransactionContextFactory;
import org.flowable.common.engine.impl.interceptor.CommandContext;
/**
* Mybatis事务上下文工厂类
*
* @author Tom Baeyens
*/
public class StandaloneMybatisTransactionContextFactory implements TransactionContextFactory {
@Override
public TransactionContext openTransactionContext(CommandContext commandContext) {
return new StandaloneMybatisTransactionContext(commandContext);
}
}
本文主要探讨Flowable中用于处理事务的TransactionContextFactory类,包括SpringTransactionContextFactory和StandaloneMybatisTransactionContextFactory。这些工厂类在流程引擎的事务管理中扮演关键角色,确保在不同环境下正确地创建和管理事务上下文。
765

被折叠的 条评论
为什么被折叠?



