transações gerenciadas por aplicativo no J2EE

Alguém tem um exemplo da melhor maneira de começar, confirmar / reverter uma transação de dentro de um bean gerenciado CDI dentro de um contêiner J2EE 6.?

Encontrei um caso específico em que a abordagem anotada não funcionará para mim (estou chamando o método de outro método da mesma classe) e preciso definir manualmente os limites da transação. Gostaria de saber o que posso fazer no meu código que replicaria o comportamento da seguinte anotação:

@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)

TIA

questionAnswers(1)

yourAnswerToTheQuestion