[seam-issues] [JBoss JIRA] (JBSEAM-4391) Need to add transaction propagation types to @Transactional
Andrei Ivanov (JIRA)
jira-events at lists.jboss.org
Wed Aug 22 11:58:18 EDT 2012
[ https://issues.jboss.org/browse/JBSEAM-4391?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12713106#comment-12713106 ]
Andrei Ivanov commented on JBSEAM-4391:
---------------------------------------
Any chance for someone looking at this?
> Need to add transaction propagation types to @Transactional
> -----------------------------------------------------------
>
> Key: JBSEAM-4391
> URL: https://issues.jboss.org/browse/JBSEAM-4391
> Project: Seam 2
> Issue Type: Feature Request
> Components: Core
> Affects Versions: 2.2.0.GA
> Environment: N/A
> Reporter: Arbi Sookazian
> Attachments: jbseam-requires-new-1.diff, jbseam-requires-new-2.diff, jbseam-requires-new-3.diff
>
>
> The current tx propagation types for use with @Transactional are the following:
> REQUIRED, MANDATORY, SUPPORTS, NEVER;
> Here is a comment from the TransactionalPropagationType enum class:
> * Transaction propagation strategies for Seam JavaBean components. Note that unlike EJB3 components, there are no strategies for suspending transactions.
> Please add REQUIRES_NEW and NOT_SUPPORTED. I am unable to solve my functional requirement of calling a webservice which inserts into remote db (which does not require a tx) and inserting into multiple local db tables (requires tx) using JavaBean components and Seam @Transactional. The requirement is that even if the webservice call fails, the local db inserts should continue and succeed (i.e. no atomicity, no rollback).
> There is an action method in my JavaBean Seam component that is invoked from a commandButton in JSF page. Then there are two private methods that are invoked from that public method. One requires tx support, the other does not. With EJB3, I would simply use NOT_SUPPORTED for one and REQUIRES_NEW for the other. Now using JavaBeans and @Transactional, I cannot solve my problem in terms of tx support requirements. @Transactional only works on public methods.
> I tried recalling the component's private method (now refactored to public with @Transactional) using Component.getInstance("foo"); but that did not work.
> Spring has robust tx support like EJB 3. Seam needs to be ramped up in terms of tx support for JavaBean components.
> References:
> http://www.seamframework.org/Community/TransactionalPropagationTypes
> http://www.seamframework.org/Community/TransactionalOnPrivateMethod
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the seam-issues
mailing list