[RESOLVIDO] CMT setRollbackOnly() EJB não funciona

Ola pessoal, estou tendo um problema com o rollback de uma transação CMT. Ao que parece ele executa o rollback sem da nenhum tipo de exception e mesmo assim ele continua a persistir a transação.

Não sei se pode ser isso, mas estou usando o eclipse e não estou muito familiarizado com ele ainda. Pode ser algum problema na construção do projeto ou coisa do tipo?

Segue o código.

package sessionbeans;

import java.util.List;

import javax.annotation.Resource;

import javax.ejb.SessionContext;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.TypedQuery;
import entidades.Produto;

@Stateless
public class ProdutoRepositorio {

	@PersistenceContext
	private EntityManager entityManager;

	@Resource
	private SessionContext context;

	public void adiciona(Produto produto) {
		this.entityManager.persist(produto);
		this.context.setRollbackOnly(); //<<<<<< logo após persistir ele da o rollback
	}

	public List<Produto> getProdutos() {
		TypedQuery<Produto> query = this.entityManager.createQuery(
				"select x from Produto x", Produto.class);

		return query.getResultList();
	}
}

cara,

vc realmente precisa controlar isso na mão? pq vc deixa esse serviço para o container gerenciar para vc.

t+

Na verdade Alissonvla, esse é um exercício :P. A ideia é justamente testar para ver funcionando. Só que dessa vez não funcionou… E não entendi o pq disso, para mim deveria está funcionando perfeitamente.

To falando! Coloquei o mesmo código no Netbeans e ele funcionou normalmente. Essas coisas é que são f*, a mesma coisa funciona em um e não no outro!