Problema com controle de transação

OiE!

Estou com problemas para controlar a transação de um método.

Tenho um Bean controlado pelo Container que possui um método(atualizarPagamento) que deve dar um único commit ao atualizar em tabelas diferentes (REQUIRES_NEW).
Dentro do método, todos os Bens (modulo…) são REQUIRED.
Porém, só estou conseguindo salvar/atualizar os dados se invoco diretamente os DAOs. Através dos Beans não está funcionando :frowning:

Alguém pode me ajudar?

@Stateless(name = "ModuloAtualizacaoPagamento")
@TransactionManagement(javax.ejb.TransactionManagementType.CONTAINER)
public class ModuloAtualizacaoPagamentoBean implements ModuloAtualizacaoPagamento{

               @TransactionAttribute(javax.ejb.TransactionAttributeType.REQUIRES_NEW)
	public void atualizarPagamento(final Disbursement disbursement, final PayHeader payHeader, final RoEvent roEvent, 
			final long cusNbr, final String nbrContrato, final ContractDetailPK contratoPK, final Bordero bordero, final PaymentTrasaction pTransaction) {
		try {
			if (pTransaction != null) {
				LOGGER.info("Salvando PaymentTrasaction..");
				moduloPaymentTransaction.salvarPaymentTransaction(pTransaction);
			}
			if (disbursement != null) {
				LOGGER.info("Salvando Disbursement..");
				moduloDisbursement.salvar(disbursement);
			}
			if (payHeader != null) {
				LOGGER.info("Atualizando PO..");
				moduloPayHeader.atualizarPayHeader(payHeader);
			}
			if (roEvent != null) {
				LOGGER.info("Atualizando RO..");
				moduloRoEvent.atualizarRoEvent(roEvent);
			}
			if (bordero != null) {
				LOGGER.info("Atualizando Bordero..");
				moduloBordero.atualizarBordero(bordero);
			}
		} catch (EJBException e) {
			throw e;
		} catch (Exception e) {
			LOGGER.error(e.getMessage(), e);
			throw new EJBException(e.getMessage(), e);
		}
	}
}

BrigaduU!!