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: Wed, 6 Mar 2013 12:01:17 +0100

Thanks for the information

On Tue, Mar 5, 2013 at 6:38 PM, Marina Vatkina <marina.vatkina_at_oracle.com>wrote:

> It is the GF TM, but it is not stand-alone - it depends on other GF
> modules.
>
> -marina
>
>
> On 3/5/13 1:35 AM, Antonio Goncalves wrote:
>
> 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>
>
>
>


-- 
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>