<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="https://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    Re: Transactional MSC
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="https://community.jboss.org/people/dmlloyd">David Lloyd</a> in <i>JBoss Transactions Development</i> - <a href="https://community.jboss.org/message/829141#829141">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><blockquote class="jive-quote"><p>Paul Robinson wrote:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>David,</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>My current thoughts are that we can get classloading to do most of the heavy-lifting here and prevent too-much disruption of the Narayana code-base. Are you able to take a look at the "Overview of the solution" section and let me know if you think I am heading in the right direction? I suspect the main problem would be that we are simplifying the development work at the cost of performance and memory footprint due to there being two TMs running.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Thanks,</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Paul.</p></blockquote><p>The solution is not what I'd call "elegant".&#160; It does introduce duplication, which is annoying (at best) for packagers and at least theoretically problematic if the two coordinatores ever interact in any way, and doesn't scale well (especially if we want to start supporting multiple transaction management configurations).&#160; It is what I would call a "short term hack" - it'll solve our short term problem well enough, but it is very unlikely that these efforts will be usefully reusable in any other context.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Honestly the structure of the code is very archaic in this regard.&#160; While I appreciate and respect the very conservative approach that the team has historically taken with things like this, I feel that modernizing the code base is still the best move because it addresses many likely use cases without a particularly high level of complexity, and also without wandering down any seldom-trod architectural paths (i.e. componentizing on a POJO basis is a very well-established, safe practice, whereas relying on global state has many known weaknesses relative to this).</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>But, that is just my recommendation, and I recognize that my perspective is quite different from yours and that my recommendation goes beyond our actual concrete requirements, so take it as advice and not any kind of mandate.</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="https://community.jboss.org/message/829141#829141">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss Transactions Development at <a href="https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2041">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>