users@ejb-spec.java.net

[ejb-spec users] [jsr345-experts] Re: Pushing _at_Transactional in the EJB spec ?

From: Antonio Goncalves <antonio.goncalves_at_gmail.com>
Date: Tue, 5 Mar 2013 10:35:35 +0100

BTW, does anybody knows what is the JTA reference implementation ? Just
wondering because it's not clear to me if it's the GlassFish Transaction
Manager or something else. If it's the GF TM, does it have a name ? Can it
be dowloaded seperatelly from GF and be used in a Tomcat let's say ?

Just asking

Thanks

On Tue, Mar 5, 2013 at 9:09 AM, Antonio Goncalves <
antonio.goncalves_at_gmail.com> wrote:

> Ok, thanks for the clarification.
>
>
> On Tue, Mar 5, 2013 at 8:32 AM, Marina Vatkina <marina.vatkina_at_oracle.com>wrote:
>
>> On 3/4/13 10:44 PM, Antonio Goncalves wrote:
>>
>> So are you saying it's better not to use them in EJBs ?
>>
>>
>> Yes.
>>
>>
>> Or mixing both (EJBs and Managed Bean transactions) is not appropriate ?
>>
>>
>> That's fine if you use them with the MBs.
>>
>> What happens if we have this ? Is the method propagated as expected ?
>>
>> @Stateless
>> public class MyEJB {
>>
>> @Inject
>> private MyBean myBean;
>>
>> public void defaultRequiredMethod() {
>> myBean.defaultTxMethod();
>> }
>> }
>>
>> @Transactional
>> public class MyBean {
>>
>> public void defaultRequiredMethod() {
>> myBean.defaultTxMethod();
>> }
>> }
>>
>>
>> I'm not sure about the last call - if myBean is not a proxy, it's not
>> intercepted. Otherwise EJBs continue to work as they did before - it's just
>> the incoming transaction now can be started by the container for non-EJB
>> components, vs. before they needed to use UserTransaction to do so. And the
>> CDI beans (CDI shouldn't be disabled) can now utilize CMT transactions
>> following the same rules as the EJBs did all the time.
>>
>> HTH,
>> -marina
>>
>>
>>
>> On Tue, Mar 5, 2013 at 5:44 AM, Marina Vatkina <marina.vatkina_at_oracle.com
>> > wrote:
>>
>>> It's noted in the JTA spec and somewhat in the Interceptors spec
>>> already and I planned to add a word of caution on the Tx interceptors to
>>> the EJB spec. The problem with these interceptors is that they are CDI
>>> interceptors and as such are invoked after the @Interceptors interceptor
>>> and may change tx context if they are not the same as the EJB settings.
>>>
>>> -marina
>>>
>>>
>>> On 3/4/13 7:57 AM, Antonio Goncalves wrote:
>>>
>>> I was reading the JTA JIRAs about the Transactional model in Managed
>>> Beans (http://java.net/jira/browse/JTA_SPEC-5). It will be using the
>>> new interceptor binding @javax.transaction.Transactional with a TrxType
>>> (REQUIRED, REQUIRES_NEW...) :
>>>
>>> @Inherited
>>> @InterceptorBinding
>>> @Target({TYPE,METHOD})
>>> @Retention(RUNTIME)
>>> public @interface *Transactional *{ TxType value() default
>>> TxType.REQUIRED }
>>>
>>> public enum *TxType *{ REQUIRED, REQUIRES_NEW, MANDATORY, SUPPORTS,
>>> NOT_SUPPORTED, NEVER }
>>>
>>> There is nothing about @Transactional in the EJB spec. Why don't we
>>> push the new @Transactional model into EJBs ? This way developers would be
>>> encouraged to use @Transactional all over the plateform and start
>>> forgetting about javax.ejb.TransactionAttribute.
>>>
>>> What do you think ?
>>>
>>>
>>> --
>>> Antonio Goncalves
>>> Software architect and Java Champion
>>>
>>> Web site <http://www.antoniogoncalves.org> | Twitter<http://twitter.com/agoncal>|
>>> LinkedIn <http://www.linkedin.com/in/agoncal> | Paris JUG<http://www.parisjug.org> |
>>> Devoxx France <http://www.devoxx.fr>
>>>
>>>
>>>
>>
>>
>> --
>> Antonio Goncalves
>> Software architect and Java Champion
>>
>> Web site <http://www.antoniogoncalves.org> | Twitter<http://twitter.com/agoncal>|
>> LinkedIn <http://www.linkedin.com/in/agoncal> | Paris JUG<http://www.parisjug.org> |
>> Devoxx France <http://www.devoxx.fr>
>>
>>
>>
>
>
> --
> Antonio Goncalves
> Software architect and Java Champion
>
> Web site <http://www.antoniogoncalves.org> | Twitter<http://twitter.com/agoncal>|
> LinkedIn <http://www.linkedin.com/in/agoncal> | Paris JUG<http://www.parisjug.org> |
> Devoxx France <http://www.devoxx.fr>
>



-- 
Antonio Goncalves
Software architect and Java Champion
Web site <http://www.antoniogoncalves.org> |
Twitter<http://twitter.com/agoncal>|
LinkedIn <http://www.linkedin.com/in/agoncal> | Paris
JUG<http://www.parisjug.org> |
Devoxx France <http://www.devoxx.fr>