Caros,
tenho um método java que roda de forma assincrona pelo spring (anotação Async). Este método está no contexto de uma transação e eu preciso que os dados salvos sejam visualizados por outras transações de banco de dados do sistema. Como posso executar um commit e manter a transação ainda ativa?
@Transactional
public void processar(Venda venda) {
// Faz um bocado de coisa
this.salvarCliente(venda.getCliente());
// Faz mais um bocado de coisa
}
@Async
@Transactional
public void salvarCliente(Cliente cliente) {
entityManager.persist(cliente);
// Quero comitar os dados do objeto acima e manter a transação ainda ativa
....