<style>
/* Changing the layout to use less space for mobiles */
@media screen and (max-device-width: 480px), screen and (-webkit-min-device-pixel-ratio: 2) {
    #email-body { min-width: 30em !important; }
    #email-page { padding: 8px !important; }
    #email-banner { padding: 8px 8px 0 8px !important; }
    #email-avatar { margin: 1px 8px 8px 0 !important; padding: 0 !important; }
    #email-fields { padding: 0 8px 8px 8px !important; }
    #email-gutter { width: 0 !important; }
}
</style>
<div id="email-body">
<table id="email-wrap" align="center" border="0" cellpadding="0" cellspacing="0" style="background-color:#f0f0f0;color:#000000;width:100%;">
    <tr valign="top">
        <td id="email-page" style="padding:16px !important;">
            <table align="center" border="0" cellpadding="0" cellspacing="0" style="background-color:#ffffff;border:1px solid #bbbbbb;color:#000000;width:100%;">
                <tr valign="top">
                    <td bgcolor="#3b4d64" style="background-color:#3b4d64;color:#ffffff;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;line-height:1;"><img src="https://issues.jboss.org/s/en_US-g3yjjf/733/58/_/jira-logo-scaled.png" alt="" style="vertical-align:top;" /></td>
                </tr><tr valign="top">
    <td id="email-banner" style="padding:32px 32px 0 32px;">

                
        
        
            <table align="left" border="0" cellpadding="0" cellspacing="0" width="100%" style="width:100%;">
    <tr valign="top">
        <td style="color:#505050;font-family:Arial,FreeSans,Helvetica,sans-serif;padding:0;">
                                        <img id="email-avatar" src="https://community.jboss.org/people/ahus1/avatar/16.png" alt="" height="48" width="48" border="0" align="left" style="padding:0;margin: 0 16px 16px 0;" />
                        <div id="email-action" style="padding: 0 0 8px 0;font-size:12px;line-height:18px;">
                                    <a class="user-hover" rel="ahus1" id="email_ahus1" href="https://issues.jboss.org/secure/ViewProfile.jspa?name=ahus1" style="color:#003366;">ahus1</a>
     updated <img src="https://issues.jboss.org/images/icons/improvement.gif" height="16" width="16" border="0" align="absmiddle" alt="Patch"> <a style='color:#003366;text-decoration:none;' href='https://issues.jboss.org/browse/JBSEAM-4861'>JBSEAM-4861</a>
            </div>
                        <div id="email-summary" style="font-size:16px;line-height:20px;padding:2px 0 16px 0;">
                <a style='color:#003366;text-decoration:none;' href='https://issues.jboss.org/browse/JBSEAM-4861'><strong>Component.java uses application wide factoryLock too often </strong></a>
            </div>
                    </td>
    </tr>
</table>
        
    </td>
</tr>
<tr valign="top">
    <td id="email-fields" style="padding:0 32px 32px 32px;">
        <table border="0" cellpadding="0" cellspacing="0" style="padding:0;text-align:left;width:100%;" width="100%">
            <tr valign="top">
                <td id="email-gutter" style="width:64px;white-space:nowrap;"></td>
                <td>
                    <table border="0" cellpadding="0" cellspacing="0" width="100%">
                                                    <tr valign="top">
        <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 10px 10px 0;white-space:nowrap;">
            <strong style="font-weight:normal;color:#505050;">Change By:</strong>
        </td>
        <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
                                                <a class="user-hover" rel="ahus1" id="email_ahus1" href="https://issues.jboss.org/secure/ViewProfile.jspa?name=ahus1" style="color:#003366;">ahus1</a>
                            (01/Jul/12 11:26 AM)
        </td>
    </tr>
            <tr valign="top">
        <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 10px 10px 0;white-space:nowrap;">
            <strong style="font-weight:normal;color:#505050;">Description:</strong>
        </td>
        <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
                                    <span class="diffcontext">Whenever&nbsp;getInstanceFromFactory()&nbsp;is&nbsp;called&nbsp;and&nbsp;a&nbsp;factory&nbsp;is&nbsp;used,&nbsp;a&nbsp;(application&nbsp;wide)&nbsp;lock&nbsp;is&nbsp;used:&nbsp;factoryLock.<br><br>In&nbsp;my&nbsp;environments&nbsp;the&nbsp;Factory&nbsp;uses&nbsp;expensive&nbsp;calls&nbsp;to&nbsp;the&nbsp;backend&nbsp;to&nbsp;create&nbsp;an&nbsp;object,&nbsp;and&nbsp;during&nbsp;this&nbsp;time&nbsp;no&nbsp;other&nbsp;Factory&nbsp;method&nbsp;is&nbsp;allowed&nbsp;to&nbsp;be&nbsp;called.&nbsp;This&nbsp;is&nbsp;a&nbsp;severe&nbsp;bottleneck&nbsp;in&nbsp;a&nbsp;multiuser&nbsp;environment.&nbsp;<br><br>This&nbsp;lock&nbsp;is&nbsp;important&nbsp;for&nbsp;APPLICATION&nbsp;scoped&nbsp;components,&nbsp;but&nbsp;other&nbsp;components&nbsp;that&nbsp;are&nbsp;i.e.&nbsp;CONVERSATION&nbsp;scoped,&nbsp;Seam&nbsp;already&nbsp;ensures&nbsp;that&nbsp;only&nbsp;one&nbsp;Thread&nbsp;has&nbsp;access&nbsp;to&nbsp;the&nbsp;current&nbsp;conversation.&nbsp;The&nbsp;same&nbsp;should&nbsp;be&nbsp;true&nbsp;for&nbsp;PAGE&nbsp;and&nbsp;EVENT.&nbsp;In&nbsp;this&nbsp;cases&nbsp;no&nbsp;lock&nbsp;should&nbsp;be&nbsp;acquired.&nbsp;UPDATE:&nbsp;Factories&nbsp;that&nbsp;use&nbsp;injection&nbsp;should&nbsp;not&nbsp;be&nbsp;called&nbsp;multithreaded,&nbsp;therefore&nbsp;an&nbsp;updated&nbsp;condition.<br><br>See&nbsp;the&nbsp;follwing&nbsp;code&nbsp;snippet.&nbsp;I&nbsp;also&nbsp;attach&nbsp;a&nbsp;patch.&nbsp;<br><br>I&nbsp;tested&nbsp;the&nbsp;patch&nbsp;for&nbsp;Seam&nbsp;2.2.2.Final&nbsp;-&nbsp;I&nbsp;would&nbsp;be&nbsp;most&nbsp;happy&nbsp;to&nbsp;have&nbsp;this&nbsp;included&nbsp;in&nbsp;2.2&nbsp;and&nbsp;2.3&nbsp;branch.<br><br>Br&nbsp;Alexander.<br><br>{code:title=Component.java}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ScopeType&nbsp;scopeResult&nbsp;=&nbsp;getOutScope(factoryMethod.getScope(),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;factoryMethod.getComponent());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ScopeType&nbsp;scopeFactory&nbsp;=&nbsp;factoryMethod.getComponent().getScope();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;boolean&nbsp;lockingNeeded&nbsp;=&nbsp;false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;we&nbsp;need&nbsp;this&nbsp;lock&nbsp;in&nbsp;the&nbsp;following&nbsp;cases:&nbsp;(1)&nbsp;the&nbsp;target&nbsp;scope&nbsp;is<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;accessed&nbsp;by&nbsp;more&nbsp;than&nbsp;one&nbsp;thread&nbsp;(as&nbsp;we&nbsp;don&#39;t&nbsp;want&nbsp;to&nbsp;create&nbsp;the&nbsp;same<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;object&nbsp;by&nbsp;two&nbsp;threads&nbsp;at&nbsp;the&nbsp;same&nbsp;time&nbsp;for&nbsp;the&nbsp;same&nbsp;scope)&nbsp;OR&nbsp;(2)&nbsp;the<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;factory&nbsp;is&nbsp;accessed&nbsp;by&nbsp;more&nbsp;than&nbsp;one&nbsp;thread&nbsp;and&nbsp;is&nbsp;using&nbsp;interceptors<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;(as&nbsp;accessing&nbsp;a&nbsp;factory&nbsp;multiple&nbsp;times&nbsp;might&nbsp;mess&nbsp;up&nbsp;interceptors).<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;This&nbsp;assumes&nbsp;that&nbsp;(1)&nbsp;the&nbsp;scopes&nbsp;CONVERSATION,&nbsp;EVENT&nbsp;and&nbsp;PAGE&nbsp;can&#39;t<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;be&nbsp;accessed&nbsp;by&nbsp;more&nbsp;than&nbsp;one&nbsp;thread&nbsp;anyway&nbsp;due&nbsp;to&nbsp;CONVERSATION&nbsp;being<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;locked&nbsp;for&nbsp;the&nbsp;current&nbsp;thread&nbsp;anyway,&nbsp;and&nbsp;EVENT&nbsp;and&nbsp;PAGE&nbsp;being&nbsp;only<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;short-lived&nbsp;anyway.&nbsp;(2)&nbsp;a&nbsp;factory&nbsp;that&nbsp;doesn&#39;t&nbsp;use&nbsp;injection&nbsp;can&nbsp;be<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;accessed&nbsp;multi&nbsp;threaded.&nbsp;See&nbsp;JBSEAM-4669/JBSEAM-2419&nbsp;for&nbsp;the&nbsp;original<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;discussion.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;((scopeResult&nbsp;!=&nbsp;ScopeType.CONVERSATION<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;scopeResult&nbsp;!=&nbsp;ScopeType.EVENT&nbsp;&amp;&amp;&nbsp;scopeResult&nbsp;!=&nbsp;ScopeType.PAGE)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||&nbsp;(scopeFactory&nbsp;!=&nbsp;ScopeType.CONVERSATION<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;scopeFactory&nbsp;!=&nbsp;ScopeType.EVENT<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;scopeFactory&nbsp;!=&nbsp;ScopeType.PAGE&nbsp;&amp;&amp;&nbsp;factoryMethod<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.getComponent().interceptionEnabled))&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lockingNeeded&nbsp;=&nbsp;true;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(lockingNeeded)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*</span>
<span class="diffaddedchars" style="background-color:#ddfade;">&nbsp;Only&nbsp;this&nbsp;factory&nbsp;instance&nbsp;can&nbsp;access&nbsp;result&nbsp;scope&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;CONVERSATION&nbsp;/&nbsp;EVENT&nbsp;/&nbsp;PAGE&nbsp;anyway&nbsp;due&nbsp;to&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;the&nbsp;locking&nbsp;of&nbsp;the&nbsp;conversation.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(scopeResult&nbsp;==&nbsp;ScopeType.CONVERSATION<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||&nbsp;scopeResult&nbsp;==&nbsp;ScopeType.EVENT&nbsp;||&nbsp;scopeResult&nbsp;==&nbsp;ScopeType.PAGE)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;synchronized&nbsp;(factory)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;createInstanceFromFactory(name,&nbsp;scope,&nbsp;factoryMethod,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;factory);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*</span>
<span class="diffcontext">&nbsp;synchronize&nbsp;all&nbsp;instances&nbsp;of&nbsp;this&nbsp;factory</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;">&nbsp;(</span>
<span class="diffaddedchars" style="background-color:#ddfade;">&nbsp;as</span>
<span class="diffcontext">they&nbsp;might&nbsp;outject&nbsp;to&nbsp;the&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;same&nbsp;scope</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;">,</span>
<span class="diffaddedchars" style="background-color:#ddfade;">&nbsp;(</span>
<span class="diffcontext">&nbsp;i.e.&nbsp;factory&nbsp;in&nbsp;EVENT&nbsp;scope,&nbsp;outjecting&nbsp;to&nbsp;APPLICATION&nbsp;scope)</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;">,&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;let&nbsp;the&nbsp;rest&nbsp;of&nbsp;the&nbsp;world&nbsp;continue</span>
<span class="diffcontext">.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br></span>
<span class="diffaddedchars" style="background-color:#ddfade;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;{<br></span>
<span class="diffcontext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;synchronized&nbsp;(factory.getClass())&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;createInstanceFromFactory(name,&nbsp;scope,&nbsp;factoryMethod,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;factory);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span>
<span class="diffcontext">&nbsp;else&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;createInstanceFromFactory(name,&nbsp;scope,&nbsp;factoryMethod,&nbsp;factory);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>[...]<br><br>&nbsp;&nbsp;private&nbsp;static&nbsp;Object&nbsp;createInstanceFromFactory(String&nbsp;name,&nbsp;ScopeType&nbsp;scope,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Init.FactoryMethod&nbsp;factoryMethod,&nbsp;Object&nbsp;factory)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;check&nbsp;whether&nbsp;there&nbsp;has&nbsp;been&nbsp;created&nbsp;an&nbsp;instance&nbsp;by&nbsp;another&nbsp;thread<br>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;while&nbsp;waiting&nbsp;for&nbsp;this&nbsp;function&#39;s&nbsp;lock<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(scope&nbsp;!=&nbsp;STATELESS)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object&nbsp;value&nbsp;=&nbsp;(scope&nbsp;==&nbsp;null)&nbsp;?&nbsp;Contexts.lookupInStatefulContexts(name)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;scope.getContext().get(name);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(value&nbsp;!=&nbsp;null)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;value;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(factory&nbsp;==&nbsp;null)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;null;<br>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object&nbsp;result&nbsp;=&nbsp;factoryMethod.getComponent().callComponentMethod(factory,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;factoryMethod.getMethod());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;handleFactoryMethodResult(name,&nbsp;factoryMethod.getComponent(),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result,&nbsp;factoryMethod.getScope());<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;}<br><br><br>{code}</span>

        </td>
    </tr>
                <tr valign="top">
        <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 10px 10px 0;white-space:nowrap;">
            <strong style="font-weight:normal;color:#505050;">Forum Reference:</strong>
        </td>
        <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
                                    <span class="diffcontext">http://www.seamframework.org/Community/GlobalFactoryLockInComponentjavaPerformanceIssue</span>

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













            </table>
        </td><!-- End #email-page -->
    </tr>
    <tr valign="top">
        <td style="color:#505050;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:10px;line-height:14px;padding: 0 16px 16px 16px;text-align:center;">
            This message is automatically generated by JIRA.<br />
            If you think it was sent incorrectly, please contact your <a style='color:#003366;' href='https://issues.jboss.org/secure/ContactAdministrators!default.jspa'>JIRA administrators</a>.<br />
            For more information on JIRA, see: <a style='color:#003366;' href='http://www.atlassian.com/software/jira'>http://www.atlassian.com/software/jira</a>
        </td>
    </tr>
</table><!-- End #email-wrap -->
</div><!-- End #email-body -->