]
Stuart Douglas updated JBSEAM-4391:
-----------------------------------
Attachment: jbseam-requires-new-2.diff
Updated patch with a minor fix
Need to add transaction propagation types to @Transactional
-----------------------------------------------------------
Key: JBSEAM-4391
URL:
https://jira.jboss.org/jira/browse/JBSEAM-4391
Project: Seam
Issue Type: Feature Request
Components: Core
Affects Versions: 2.2.0.GA
Environment: N/A
Reporter: asookazian
Attachments: jbseam-requires-new-1.diff, jbseam-requires-new-2.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 contact one of the administrators: