The @Transactional annotation uses aop method interception (see JpaLocalTxnInterceptor).
This means the annotation works only when all of the following is true:
- The concrete instance was created by Guice and not by anybody else (other framework or calling new)
  - the annotated method is not private
  - the annotated method is not final
  - the annotated method is not static

In your case I would suspect that maybe the instance was created by Jersey (and Jersey then passes the instance to Guice for member injection) and not by Guice itself.

If this doesn't help you may need to post some code or reduce the problem to a minimal setup for further exploration.

regards
Stephan



On 11/21/2013 12:35 AM, Armin Bahramshahry wrote:
Hi,

I've setup Guice with Jersey, and the PersistFilter. Trying to use @Transactional annotation, and it seems to be working if the object is binded in the Singleton scope, or Request scope (from within the servlet module binding); however, objects that are just binded with the basic binding (none) they seem to have problem with @Transactional.

Getting the EntityManager seem to work fine, etc, but nothing gets committed.

Simply moving the binding of the object from the AbstractModule to ServletModule makes the @Transactional to work as expected. The @Transactional seem to also work for all objects that are marked as Singleton.

Was wondering if this is an intended behavior or not, and if not, what could be causing this?

Regards,
Armin
--
You received this message because you are subscribed to the Google Groups "google-guice" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-guice.
For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-guice.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to