DataSourceTransactionManager 和 ResourcelessTransactionManager 有什么区别?
what is the difference between DataSourceTransactionManager and ResourcelessTransactionManager?
和org.springframework.jdbc.datasource.DataSourceTransactionManager
有什么区别
和 org.springframework.batch.support.transaction.ResourcelessTransactionManager
<bean id="batchTransactionManager" class=
"org.springframework.batch.support.transaction.ResourcelessTransactionManager" />
<bean id="batchJobLauncher"
class="org.springframework.batch.core.launch.support.SimpleJobLauncher">
<property name="jobRepository" ref="batchJobRepository" />
<property name="taskExecutor">
<bean class="org.springframework.core.task.SimpleAsyncTaskExecutor" />
</property>
</bean>
上面代码中使用resourcelesstransactionmanager是否正确?
或者我应该使用 datasourcetransactionmanager?
它们有什么区别以及何时使用它们?
Spring 批处理需要 PlatformTransactionManager
在驱动作业和与作业存储库交互时应用其事务语义。
ResourcelessTransactionManager
是 PlatformTransactionManager
的 No-Op 实现,这意味着不会有针对事务资源的实际事务正在进行(因此术语 Resourceless
)。当您真的不需要(或不关心)事务行为时,您可以使用它,例如在 tests/prototypes 中或在使用 non-transactional 作业存储库时。此class由Spring批次提供,不建议用于生产。
另一方面,DataSourceTransactionManager
来自 Spring 框架,用于驱动针对 JDBC 数据源(可以是真实数据库或 in-memory 的事务)一)。此事务管理器通常用于 Spring 批处理,以将批处理 meta-data 作为作业存储库存储在关系数据库中。
和org.springframework.jdbc.datasource.DataSourceTransactionManager
有什么区别
和 org.springframework.batch.support.transaction.ResourcelessTransactionManager
<bean id="batchTransactionManager" class=
"org.springframework.batch.support.transaction.ResourcelessTransactionManager" />
<bean id="batchJobLauncher"
class="org.springframework.batch.core.launch.support.SimpleJobLauncher">
<property name="jobRepository" ref="batchJobRepository" />
<property name="taskExecutor">
<bean class="org.springframework.core.task.SimpleAsyncTaskExecutor" />
</property>
</bean>
上面代码中使用resourcelesstransactionmanager是否正确? 或者我应该使用 datasourcetransactionmanager? 它们有什么区别以及何时使用它们?
Spring 批处理需要 PlatformTransactionManager
在驱动作业和与作业存储库交互时应用其事务语义。
ResourcelessTransactionManager
是 PlatformTransactionManager
的 No-Op 实现,这意味着不会有针对事务资源的实际事务正在进行(因此术语 Resourceless
)。当您真的不需要(或不关心)事务行为时,您可以使用它,例如在 tests/prototypes 中或在使用 non-transactional 作业存储库时。此class由Spring批次提供,不建议用于生产。
DataSourceTransactionManager
来自 Spring 框架,用于驱动针对 JDBC 数据源(可以是真实数据库或 in-memory 的事务)一)。此事务管理器通常用于 Spring 批处理,以将批处理 meta-data 作为作业存储库存储在关系数据库中。