Я работаю над проектом с использованием следующих технологий: Java 1.8, EJB 3, JSF (Primefaces), Oracle, Weblogic 12.2.1Прервать EJB сделка с JSF UI
У меня есть кнопка, которая запускает "Сохранить" долговременная транзакция EJB (чтение, обновление, запись в Oracle).
В то время как метод запускается, пользователь видит модальный диалог «Подождите» с кнопкой «Отмена». Как я могу отменить (явный откат) мою транзакцию EJB, когда пользователь нажимает кнопку «Отмена» без разблокировки моего (Primefaces) интерфейса?
В сущности, как откат уже запущенной транзакции с помощью другого метода? Сделки - транзакции, управляемые контейнером.
Фрагмент моего кода:
@Named
@ViewScoped
public class MyBean implements Serializable {
@Inject
private IFacade facade;
public String save() {
facade.save();
}
public void abortSave() {
// Cancel save transaction.
}
}
@Stateless
public class FacadeImpl implements IFacade {
@Override
public String save() {
// Transaction here, read, write, update DB.
}
}
Как об использовании http://docs.oracle.com/javaee/6/api/ javax/ejb/EJBContext.html # setRollbackOnly() – Amit