[cdi-dev] CDI have any plan to process Transaction?

Pete Muir pmuir at redhat.com
Tue May 1 06:21:49 EDT 2012


Sure :-)

Today:

* EJBs are transactional by default, IOW an EJB implicitly has @TransactionAttribute(REQUIRED) on it
* Managed beans are not transactional, and, without an extension like Deltaspike, cannot participate in transitions. IOW @TransactionAttribute cannot be applied to managed beans.

And with the proposal:

* Managed beans are not transactional by default, but can be made transactional by adding @Transactional
* By default @Transacational has a type of REQUIRED, but other modes can be specified (proposal has details)
* @TransactionAttribute is still used to control EJB transactions (we tried to bridge the two, but we can't see a sane way, read the EE ML archives for details)

IOW @Transactional brings declarative transactions to managed beans, it doesn't add new features.

HTH

On 1 May 2012, at 11:09, Hantsy Bai wrote:

> 
> can you ask in another way, what is new in the @Transacational,  compare to the existing @TransactionAttirbute ?
> but maybe it is not related to CDI now.
> 
> Hantsy
> 
> On 5/1/2012 17:53, Pete Muir wrote:
>> How do you mean?
>> 
>> On 1 May 2012, at 10:49, Hantsy Bai wrote:
>> 
>>> I do not understand why introduce @Transational in JEE7 but it  still
>>> align with JTA.
>>> 
>>> On 5/1/2012 17:41, Pete Muir wrote:
>>>> Yes, that's possibly a better idea still :-D
>>>> 
>>>> On 30 Apr 2012, at 21:01, Dan Allen wrote:
>>>> 
>>>>> True, it could be a matter of packaging. We could include the necessary JAR files as part of the Servlet support in the respective distributions. In a sense, they would be "blessed" extensions, which is all any user really cares about (how else do they know what's in weld-servlet.jar, for example).
>>>>> 
>>>>> -Dan
>>>>> 
>>>>> On Mon, Apr 30, 2012 at 15:59, Mark Struberg<struberg at yahoo.de>   wrote:
>>>>> Over in DeltaSpike we are currently discussing the jpa module. Plans are to implement it there as portable extension. I see no need why we need to duplicate the effort by implementing it in both Weld and OWB ;)
>>>>> 
>>>>> The big benefit of this approach is that this will also run on any CDI-1.0 container!
>>>>> 
>>>>> 
>>>>> LieGrue,
>>>>> strub
>>>>> 
>>>>>> ________________________________
>>>>>> From: Dan Allen<dan.j.allen at gmail.com>
>>>>>> To: Pete Muir<pmuir at redhat.com>
>>>>>> Cc: cdi-dev at lists.jboss.org
>>>>>> Sent: Monday, April 30, 2012 9:42 PM
>>>>>> Subject: Re: [cdi-dev] CDI have any plan to process Transaction?
>>>>>> 
>>>>>> 
>>>>>> I molded this into a mini blog. Pete, if you are interested, feel free to post this as it will likely solve a wider misunderstanding from going around:
>>>>>> 
>>>>>> 
>>>>>> "A standard, universal @Transactional annotation is coming in Java EE 7. However, there are some important things to keep in mind:
>>>>>> 
>>>>>> 
>>>>>> - @Transactional *is* being developed as a revision to the JTA spec (as an MR)
>>>>>> - @Transactional *is not* being developed by the CDI EG, nor will it be in the CDI spec
>>>>>> - Feedback on @Transactional should be sent to the Java EE platform EG *not* to the CDI EG. The platform EG is conducting the revision to the JTA spec.
>>>>>> 
>>>>>> 
>>>>>> Java EE does not recognize a Servlet container as a compliant environment and therefore this feature will not be available there by default (mainly due to the absence of JTA in this environemnt).
>>>>>> 
>>>>>> 
>>>>>> However, to bridge the divide, Weld and OpenWebBeans will both likely offer support for @Transactional in a Servlet environment since we acknowledge that it *is* important, and is an environment preferred by many developers (but we still strongly urge you to migrate to the web profile!!)."
>>>>>> 
>>>>>> 
>>>>>> -Dan
>>>>>> 
>>>>>> On Mon, Apr 30, 2012 at 04:55, Pete Muir<pmuir at redhat.com>   wrote:
>>>>>> 
>>>>>> Just to be 100% clear, as there is a lot of confusion around this topic.
>>>>>>> * @Transactional *IS NOT* being developed by the CDI EG nor will it be in the CDI spec
>>>>>>> * @Transactional *IS* being developed as a revision to the JTA spec (as a MR IIRC, but that was not my/our decision to make)
>>>>>>> * Feedback on @Trasnactional should be sent to the Java EE platform EG NOT to the CDI EG. The platform EG is conducting the revision to the JTA spec.
>>>>>>> 
>>>>>>> HTH!
>>>>>>> 
>>>>>>> 
>>>>>>> On 30 Apr 2012, at 09:19, Pete Muir wrote:
>>>>>>> 
>>>>>>>> On 29 Apr 2012, at 23:12, Dan Allen wrote:
>>>>>>>> 
>>>>>>>>> Am I correct in saying that the annotation will control JTA
>>>>>>>> Yes, this will be an amendment to the JTA spec AIUI. So back where it belongs!
>>>>>>>> 
>>>>>>>>> and work in either of the two profiles (web and full)?
>>>>>>>> We haven't discussed this, but I'm assuming both. I will raise this.
>>>>>>>> 
>>>>>>>>> Btw, Java EE does not recognize a Servlet container as a compliant environment and therefore this feature will not be available there (without special support for it).
>>>>>>>> Correct. Main obstacle is actually a lack of JTA there, rather than the declarative control… But I think OWB and Weld will both offer something here as we all regard it as important!
>>>>>>>> 
>>>>>>>>> I agree with this stance since the web profile should be recognized as the low end environment. Otherwise there is not enough core services to provide a dependable and portable programming model. If you (general audience) want to use a Servlet container, you aren't using Java EE and will have to supplement with addons like CDI extensions or Spring.
>>>>>>>>> 
>>>>>>>>> -Dan
>>>>>>>>> 
>>>>>>>>> --
>>>>>>>>> Sent from my CyanogenMod-powered
>>>>>>>>> Android device, an open platform for
>>>>>>>>> carriers, developers and consumers.
>>>>>>>>> 
>>>>>>>>> On Apr 27, 2012 4:54 AM, "Pete Muir"<pmuir at redhat.com>   wrote:
>>>>>>>>> Java EE 7 will include @Transactional. This will be provided by the Java EE platform, rather than CDI specifically. It will be a CDI interceptor, and so enabled as other CDI interceptors are.
>>>>>>>>> 
>>>>>>>>> On 24 Apr 2012, at 09:10, Hantsy Bai wrote:
>>>>>>>>> 
>>>>>>>>>> Hi,
>>>>>>>>>> 
>>>>>>>>>> I have read some content about the spec 1.1, but I want to know if there
>>>>>>>>>> is a plan to provide a new transaction annotation...for EBJ or none EJB
>>>>>>>>>> proramming.
>>>>>>>>>> 
>>>>>>>>>> For example, provide a @Transactional annotation like Seam2 or Spring
>>>>>>>>>> 3.1...and make it work in Servlet container(none JTA transation, jdbc
>>>>>>>>>> only) or full profile container such as JBoss, Glassfish(JTA transaction
>>>>>>>>>> by default) seamlessly.
>>>>>>>>>> 
>>>>>>>>>> Automatically detect the Transaction will be used, or configure in
>>>>>>>>>> beans.xml file.
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> Regards
>>>>>>>>>> Hantsy
>>>>>>>>>> _______________________________________________
>>>>>>>>>> cdi-dev mailing list
>>>>>>>>>> cdi-dev at lists.jboss.org
>>>>>>>>>> https://lists.jboss.org/mailman/listinfo/cdi-dev
>>>>>>>>> _______________________________________________
>>>>>>>>> cdi-dev mailing list
>>>>>>>>> cdi-dev at lists.jboss.org
>>>>>>>>> https://lists.jboss.org/mailman/listinfo/cdi-dev
>>>>>>>> _______________________________________________
>>>>>>>> cdi-dev mailing list
>>>>>>>> cdi-dev at lists.jboss.org
>>>>>>>> https://lists.jboss.org/mailman/listinfo/cdi-dev
>>>>>> 
>>>>>> --
>>>>>> 
>>>>>> Dan AllenPrincipal Software Engineer, Red Hat | Author of Seam in Action
>>>>>> Registered Linux User #231597
>>>>>> 
>>>>>> 
>>>>>> http://google.com/profiles/dan.j.allen
>>>>>> http://mojavelinux.com
>>>>>> http://mojavelinux.com/seaminaction
>>>>>> 
>>>>>> 
>>>>>> _______________________________________________
>>>>>> cdi-dev mailing list
>>>>>> cdi-dev at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/cdi-dev
>>>>>> 
>>>>>> 
>>>>>> 
>>>>> 
>>>>> -- 
>>>>> Dan Allen
>>>>> Principal Software Engineer, Red Hat | Author of Seam in Action
>>>>> Registered Linux User #231597
>>>>> 
>>>>> http://google.com/profiles/dan.j.allen
>>>>> http://mojavelinux.com
>>>>> http://mojavelinux.com/seaminaction
>>>>> 
>>>>> _______________________________________________
>>>>> cdi-dev mailing list
>>>>> cdi-dev at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/cdi-dev
>>>> _______________________________________________
>>>> cdi-dev mailing list
>>>> cdi-dev at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/cdi-dev
>>> _______________________________________________
>>> cdi-dev mailing list
>>> cdi-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/cdi-dev
> 




More information about the cdi-dev mailing list