transactions - springframework - primavera 3.1: jdbcTemplate auto commit a falso.
spring jdbctemplate spring boot (2)
No entendí toda su pregunta, pero puedo responder la primera parte: ¿Hay alguna manera de establecer autocommit en false en la jdbctemplate de primavera?
La configuración de confirmación automática normalmente se establece en la conexión misma. La Connection
es creada por Datasource
. Como JdbcTemplate
no tiene una opción para deshabilitar manualmente la confirmación automática en las conexiones que solicita al origen de datos, la forma de lograrlo es mediante el uso de un Datasource
que crea conexiones con el autocommit
establecido en false
de manera predeterminada.
Esta configuración de ejemplo que usa Apache commons BasicDataSource
logra que:
<bean id="database" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource">
<bean class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
...
<property name="defaultAutoCommit" value="false" />
...
</bean>
</property>
</bean>
Hola, es una manera de establecer autocommit en false en jdbctemplate de primavera.
Lo que ocurre es que en lugar de la transacción (donde su opción es la reversión), quiero que la consulta se confirme al final de la transacción.
Entonces, en lugar de
insert -> commit -> rollback.
Quiero insertar -> fallar -> (sin compromiso).
Traté de captar tu pregunta, y hay algunas ideas para resolverlas. La forma de configurar autocommit en false en la primavera jdbctemplate:
- Establezca la propiedad defaultAutoCommit de DataSource en falso.
Puede confirmar o retrotraer escribiendo códigos como a continuación:
jdbcTemplate.getDataSource (). getConnection.commit (); jdbcTemplate.getDataSource (). getConnection.rollback ();