Soy nuevo en Spring Transaction. Algo que encontré realmente extraño, probablemente entendí esto correctamente. Quería tener un nivel de método transaccional y tengo un método de llamada dentro de la misma clase y parece que no le gusta, tiene que ser llamado desde la clase separada. No entiendo cómo es eso posible. Si alguien tiene una idea de cómo resolver este problema, lo agradecería enormemente. Me gustaría utilizar la misma clase para llamar al método transaccional anotado.La llamada al método Spring @Transaction por el método dentro de la misma clase, ¿no funciona?
Aquí está el código:
public class UserService {
@Transactional
public boolean addUser(String userName, String password) {
try {
// call DAO layer and adds to database.
} catch (Throwable e) {
TransactionAspectSupport.currentTransactionStatus()
.setRollbackOnly();
}
}
public boolean addUsers(List<User> users) {
for (User user : users) {
addUser(user.getUserName, user.getPassword);
}
}
}
Gracias por la información. Refactoré el código por el momento, pero podría enviarme un ejemplo utilizando AspectJ o proporcionarme algunos enlaces útiles. Gracias por adelantado. Micro. – Mike
Agregué la configuración específica de AspectJ a la transacción en mi respuesta. Espero que ayude. – Espen
Gracias Espen por toda su ayuda. ¡¡Funciona!! – Mike