<!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="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">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;">
    Endless loop at AS server startup
</h3>
<span style="margin-bottom: 10px;">
    reply from <a href="http://community.jboss.org/people/thomas.diesler%40jboss.com">Thomas Diesler</a> in <i>JBoss Microcontainer Development</i> - <a href="http://community.jboss.org/message/548223#548223">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>I can't say that I understand the issue fully. When the AbstractDependencyInfo returns it's unresolved requirements - it is an unordered set. So the order of the requirements is not deterministic.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>In AS we currently distribute these bundles</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><pre class="jive-pre"><code class="jive-code">jboss-osgi-blueprint.jar
jboss-osgi-common-core.jar
jboss-osgi-common.jar
jboss-osgi-http.jar
jboss-osgi-husky.jar
jboss-osgi-jaxb.jar
jboss-osgi-jmx.jar
jboss-osgi-jndi.jar
jboss-osgi-reflect.jar
jboss-osgi-webapp.jar
jboss-osgi-webconsole.jar
jboss-osgi-xerces.jar
jboss-osgi-xml-binding.jar
org.apache.aries.jmx.jar
org.apache.aries.util.jar
org.apache.felix.eventadmin.jar
org.apache.felix.log.jar
org.osgi.compendium.jar</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>They come with mandatory/optional and of course dynamic requirements. One possibility could be to add a few "special" log messages that write an audit log to a dedicated appender. The test case could extract the module + caps + reqs topology from the log and build up the metadata from it.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>I believe, it is a resolve time problem only - so there should be no actual class load needed.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>The standalone Runtime BTW resolves these bundles in a timely manner even without the cache. One reason could be that the compendium and a few other key bundles are installed/resolved first before the others come in. Another reason is that we only deal with OSGi modules, which is unlike in AS where we have very many modules with an unknown set of caps/reqs.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>I might also add, that I'm sure that the algorithm (without the cache) does not run into an endless loop after all. I'm fairly sure that the cache would prevent that.</p></div>

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


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

</div>

</body>
</html>