<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Transaction Managers do not engage in distributed transactions if there is a single resource and that happens automatically.<div>JTA != 2PC.</div><div>Jonathan, correct me if I'm wrong, but I'm sure that's something you guys have had in the product virtually for ever.</div><div><br><div><div>On 24 nov. 09, at 18:18, Arbi Sookazian wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">This is a good idea from a corporate developer's perspective anyways.&nbsp; JEE platform needs to keep things as simple as possible (esp. in terms of configuration) for the typical JEE dev.&nbsp; <br><br>"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."<br><br>src: <a href="http://msdn.microsoft.com/en-us/library/ms172070%28VS.80%29.aspx">http://msdn.microsoft.com/en-us/library/ms172070%28VS.80%29.aspx</a><br> <br>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 <a href="http://ASP.NET">ASP.NET</a>!)<br> <br>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.&nbsp; 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).<br> <br>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).<br><br><div class="gmail_quote">On Tue, Nov 24, 2009 at 9:03 AM, Reza Rahman <span dir="ltr">&lt;<a href="mailto:reza_rahman@lycos.com">reza_rahman@lycos.com</a>&gt;</span> wrote:<br> <blockquote class="gmail_quote" style="border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); margin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0.8ex; padding-left: 1ex; position: static; z-index: auto; ">Dan,<br> <br> Personally, I think the most elegant solution in terms of Java EE is<br> simply to standardize "promotable" transactions. Specifically, JTA could<br> be modified to use local transactions by default and only promote<br> transactions to distributed mode as the need arises. The Microsoft guys<br> have had promotable transactions for ages, I am not sure why we don't<br> have it in Java EE too. This would make the "lightweight" vs<br> "heavyweight" debate moot and keep things simple/consistent from a<br> developer's perspective while most of the systems-level issues are dealt<br> by the container where these things belong instead of a steady leak as a<br> development concern.<br> <div class="im"><br> Cheers,<br> Reza<br> <br> <br> Dan Allen wrote:<br> </div><div class="im">&gt; I was talking to someone about this topic post-Devoxx. I came up with<br> &gt; an idea that may be worth considering. Perhaps the Java EE platform<br> &gt; can recognize another class of bean that has persistence and<br> &gt; transaction capabilities, but not the rest of EJB. Here's my proposed<br> &gt; breakdown, in terms of airplane seat classes (I was on an airplane at<br> &gt; the time).<br> &gt;<br> &gt; First class - EJB session bean<br> &gt; Business class - local transactional bean<br> &gt; Coach - Simple managed bean<br> &gt;<br> &gt; The main differientiator of a "business class bean" from an EJB is<br> &gt; that it would have the option to use local transactions, just like an<br> &gt; application-managed JPA persistence unit. It would also not support<br> &gt; any HA concerns. But it would be a drop in replacement for so-called<br> &gt; "lightweight" transaction beans that Spring offers.<br> &gt;<br> &gt; Then, we wouldn't need to do anything special in Weld / Seam 3. All we<br> &gt; would need is to be able to support these types of beans in a servlet<br> &gt; container, the same way that Weld supports those environments. But it<br> &gt; would be a standard part of Java EE (6 MR1 or 7).<br> &gt;<br> &gt; If we feel like we need to support this use case in Seam, then clearly<br> &gt; there is still something missing in Java EE.<br> &gt;<br> &gt; -Dan<br> &gt;<br> &gt; On Wed, Nov 18, 2009 at 6:10 PM, Gavin King &lt;<a href="mailto:gavin.king@gmail.com">gavin.king@gmail.com</a><br> </div><div class="im">&gt; &lt;mailto:<a href="mailto:gavin.king@gmail.com">gavin.king@gmail.com</a>&gt;&gt; wrote:<br> &gt;<br> &gt; &nbsp; &nbsp; I think we should try and follow the Java EE models as closely as<br> &gt; &nbsp; &nbsp; possible for this stuff. We should simply try and make the Java EE<br> &gt; &nbsp; &nbsp; code work outside EE 6.<br> &gt;<br> &gt; &nbsp; &nbsp; e.g.<br> &gt;<br> &gt; &nbsp; &nbsp; (1) use a resource declaration with @PersistenceContext(unitName=....)<br> &gt; &nbsp; &nbsp; to define a managed persistence context<br> &gt; &nbsp; &nbsp; (2) use JBoss Transactions to manage transactions in a servlet engine<br> &gt; &nbsp; &nbsp; - so instead of having a special tx manager for JDBC, it is just JTA<br> &gt;<br> &gt; &nbsp; &nbsp; Or is the 10meg download for JBoss Transactions just no good?<br> &gt;<br> &gt; &nbsp; &nbsp; --<br> &gt; &nbsp; &nbsp; Gavin King<br> </div>&gt; &nbsp; &nbsp; <a href="mailto:gavin.king@gmail.com">gavin.king@gmail.com</a> &lt;mailto:<a href="mailto:gavin.king@gmail.com">gavin.king@gmail.com</a>&gt;<br> <div class="im">&gt; &nbsp; &nbsp; <a href="http://in.relation.to/Bloggers/Gavin" target="_blank">http://in.relation.to/Bloggers/Gavin</a><br> &gt; &nbsp; &nbsp; <a href="http://hibernate.org" target="_blank">http://hibernate.org</a><br> &gt; &nbsp; &nbsp; <a href="http://seamframework.org" target="_blank">http://seamframework.org</a><br> &gt; &nbsp; &nbsp; _______________________________________________<br> &gt; &nbsp; &nbsp; weld-dev mailing list<br> </div>&gt; &nbsp; &nbsp; <a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a>&gt;<br> <div class="im">&gt; &nbsp; &nbsp; <a href="https://lists.jboss.org/mailman/listinfo/weld-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/weld-dev</a><br> &gt;<br> &gt;<br> &gt;<br> &gt;<br> &gt; --<br> &gt; Dan Allen<br> &gt; Senior Software Engineer, Red Hat | Author of Seam in Action<br> &gt; Registered Linux User #231597<br> &gt;<br> &gt; <a href="http://mojavelinux.com" target="_blank">http://mojavelinux.com</a><br> &gt; <a href="http://mojavelinux.com/seaminaction" target="_blank">http://mojavelinux.com/seaminaction</a><br> &gt; <a href="http://www.google.com/profiles/dan.j.allen" target="_blank">http://www.google.com/profiles/dan.j.allen</a><br> </div>&gt; ------------------------------------------------------------------------<br> <div><div></div><div class="h5">&gt;<br> &gt; _______________________________________________<br> &gt; weld-dev mailing list<br> &gt; <a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a><br> &gt; <a href="https://lists.jboss.org/mailman/listinfo/weld-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/weld-dev</a><br> <br> _______________________________________________<br> weld-dev mailing list<br> <a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a><br> <a href="https://lists.jboss.org/mailman/listinfo/weld-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/weld-dev</a><br> </div></div></blockquote></div><br> _______________________________________________<br>weld-dev mailing list<br><a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a><br>https://lists.jboss.org/mailman/listinfo/weld-dev</blockquote></div><br></div></body></html>