Я пытаюсь использовать mybatis-КДИ в течение Wildfly и мне нужно запустить часть метода в отдельной транзакции - см следующий фрагмент кода:Использование REQUIRES_NEW JTA тип транзакции в MyBatis на Wildfly
@Stateless
@TransactionManagement(TransactionManagementType.CONTAINER)
public class ItemService {
@Inject
@Mapper
ItemMapper mapper;
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public void doSomething() {
List<Item> items = mapper.findByTime(new Date());
for(Item i : items) {
update(i);
}
}
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
public void update(Item item) {
mapper.updateSomehow(item);
}
}
Является ли это правильный способ, как сделать это? Поддерживается ли это с помощью mybatis-cdi, или это должно быть сделано по-другому?
Спасибо, нашел его между мною: https://github.com/dlee0113/java_ee_patterns_and_best_practices/blob/master /SelfInvokingEJB/src/java/com/abien/patterns/business/selfinvocation/Hack.java – miran