[weld-dev] persistence and transactions outside Java EE
Emmanuel Bernard
emmanuel at hibernate.org
Tue Nov 24 13:31:57 EST 2009
Transaction Managers do not engage in distributed transactions if
there is a single resource and that happens automatically.
JTA != 2PC.
Jonathan, correct me if I'm wrong, but I'm sure that's something you
guys have had in the product virtually for ever.
On 24 nov. 09, at 18:18, Arbi Sookazian wrote:
> This is a good idea from a corporate developer's perspective
> anyways. JEE platform needs to keep things as simple as possible
> (esp. in terms of configuration) for the typical JEE dev.
>
> "Promotable transactions optimize distributed transactions by
> deferring the creation of a distributed transaction until it is
> needed. If only one resource manager is required, no distributed
> transaction occurs."
>
> src: http://msdn.microsoft.com/en-us/library/ms172070%28VS.80%29.aspx
>
> Instead of focusing on how "apparently" bad the Spring stack is, I
> would recommend focusing on expanding on the good ideas that .NET
> platform has (like the late addition of MVC frmwk in ASP.NET!)
>
> Corporate devs are looking to design and code use cases easily/
> quickly and not worry too much about system level issues, clustering
> and lack of tooling, etc. An integrated solution like .NET with
> the .NET Visual Studio IDE is very attractive (although somewhat
> limiting perhaps b/c the APIs/frmwks are "locked" down).
>
> We have to make way too many decisions about what frmwks and
> libraries to use in JEE (this problem seems to always be getting
> worse as the years go by unfortunately).
>
> On Tue, Nov 24, 2009 at 9:03 AM, Reza Rahman <reza_rahman at lycos.com>
> wrote:
> Dan,
>
> Personally, I think the most elegant solution in terms of Java EE is
> simply to standardize "promotable" transactions. Specifically, JTA
> could
> be modified to use local transactions by default and only promote
> transactions to distributed mode as the need arises. The Microsoft
> guys
> have had promotable transactions for ages, I am not sure why we don't
> have it in Java EE too. This would make the "lightweight" vs
> "heavyweight" debate moot and keep things simple/consistent from a
> developer's perspective while most of the systems-level issues are
> dealt
> by the container where these things belong instead of a steady leak
> as a
> development concern.
>
> Cheers,
> Reza
>
>
> Dan Allen wrote:
> > I was talking to someone about this topic post-Devoxx. I came up
> with
> > an idea that may be worth considering. Perhaps the Java EE platform
> > can recognize another class of bean that has persistence and
> > transaction capabilities, but not the rest of EJB. Here's my
> proposed
> > breakdown, in terms of airplane seat classes (I was on an airplane
> at
> > the time).
> >
> > First class - EJB session bean
> > Business class - local transactional bean
> > Coach - Simple managed bean
> >
> > The main differientiator of a "business class bean" from an EJB is
> > that it would have the option to use local transactions, just like
> an
> > application-managed JPA persistence unit. It would also not support
> > any HA concerns. But it would be a drop in replacement for so-called
> > "lightweight" transaction beans that Spring offers.
> >
> > Then, we wouldn't need to do anything special in Weld / Seam 3.
> All we
> > would need is to be able to support these types of beans in a
> servlet
> > container, the same way that Weld supports those environments. But
> it
> > would be a standard part of Java EE (6 MR1 or 7).
> >
> > If we feel like we need to support this use case in Seam, then
> clearly
> > there is still something missing in Java EE.
> >
> > -Dan
> >
> > On Wed, Nov 18, 2009 at 6:10 PM, Gavin King <gavin.king at gmail.com
> > <mailto:gavin.king at gmail.com>> wrote:
> >
> > I think we should try and follow the Java EE models as closely
> as
> > possible for this stuff. We should simply try and make the
> Java EE
> > code work outside EE 6.
> >
> > e.g.
> >
> > (1) use a resource declaration with
> @PersistenceContext(unitName=....)
> > to define a managed persistence context
> > (2) use JBoss Transactions to manage transactions in a servlet
> engine
> > - so instead of having a special tx manager for JDBC, it is
> just JTA
> >
> > Or is the 10meg download for JBoss Transactions just no good?
> >
> > --
> > Gavin King
> > gavin.king at gmail.com <mailto:gavin.king at gmail.com>
> > http://in.relation.to/Bloggers/Gavin
> > http://hibernate.org
> > http://seamframework.org
> > _______________________________________________
> > weld-dev mailing list
> > weld-dev at lists.jboss.org <mailto:weld-dev at lists.jboss.org>
> > https://lists.jboss.org/mailman/listinfo/weld-dev
> >
> >
> >
> >
> > --
> > Dan Allen
> > Senior Software Engineer, Red Hat | Author of Seam in Action
> > Registered Linux User #231597
> >
> > http://mojavelinux.com
> > http://mojavelinux.com/seaminaction
> > http://www.google.com/profiles/dan.j.allen
> >
> ------------------------------------------------------------------------
> >
> > _______________________________________________
> > weld-dev mailing list
> > weld-dev at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/weld-dev
>
> _______________________________________________
> weld-dev mailing list
> weld-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/weld-dev
>
> _______________________________________________
> weld-dev mailing list
> weld-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/weld-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/weld-dev/attachments/20091124/0b784bcc/attachment.html
More information about the weld-dev
mailing list