@Stateless vs @RequestScoped

Je suis en train d'apprendre à utiliser de JAX-RS pour certaines api restful de développement et avez un problème concernant ma ressource classes.

Ma compréhension est que ma classe de ressource doit être RequestScoped, cependant,
quand il est RequestScoped mon appel à l'entité gestionnaire de l'persistent méthode il jette à un TransactionRequiredException.

Si je change de classe de ressource d'être Apatrides alors tout va bien et le gestionnaire de l'entité peut persister sans aucun problème.

Je suis encore nouveau pour JavaEE et voudrais savoir pourquoi cela se produit et ce que l' @Stateless annotation n'a que permet le contexte de persistance à injecter correctement.
Je voudrais aussi savoir si il ya un problème avec JAX-RS ressource classes apatrides au lieu de RequestScoped comme la plupart des tutos que j'ai vu ont leur.

J'ai inclus quelques exemple de code ci-dessous pour illustrer.

@Path("Things")
//@Stateless //works just fine when em.persist() is called
@RequestScoped //throws transactionrequiredexception when em.persist() is called
public class ThingsResource{

    @PersistenceContext(unitName = "persistenceUnitName")
    EntityManager em;


    public ThingsResource() { }

    @POST
    @Produces(MediaType.APPLICATION_JSON)
    public Response postThing(ThingDTO thing){

        ThingEntity newThing = new ThingEntity(thing);
        em.persist(newThing);
        em.flush();

        return Response.created(new URI("/" + newThing.getId()).build();

    }
}

source d'informationauteur Bltucker | 2013-12-13