<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <div class="moz-cite-prefix">On 12/12/12 4:12 PM, Nanda Kumar wrote:<br>
    </div>
    <blockquote
cite="mid:CAABpE6=ED89SjrHU59+LVGUfZQokZwpbe9ktgykeqnuTVR+pmQ@mail.gmail.com"
      type="cite">Hello,
      <div>&nbsp; Attribute filter, resolver, profile handler and relying
        party services can be reloaded by specifying two attributes<b>&nbsp;</b><span
style="margin-top:0px;color:rgb(51,51,51);font-family:Arial,Helvetica,FreeSans,sans-serif;font-size:13px;line-height:17.33333396911621px;background-color:rgb(255,255,255)">configurationResourcePollingFrequency</span><span
style="color:rgb(51,51,51);font-family:Arial,Helvetica,FreeSans,sans-serif;font-size:13px;line-height:17.33333396911621px;background-color:rgb(255,255,255)">&nbsp;
          and&nbsp;</span><span
style="margin-top:0px;margin-bottom:0px;color:rgb(51,51,51);font-family:Arial,Helvetica,FreeSans,sans-serif;font-size:13px;line-height:17.33333396911621px;background-color:rgb(255,255,255)">configurationResourcePollingRetryAttempts
          to the service element. &nbsp;Is this reloading process done by
          Shibboleth code OR is it done by the spring framework?</span></div>
    </blockquote>
    <br>
    I guess it depends on what you mean exactly, but the actual
    reloading logic, and the stuff which processes those 2 config
    attributes, is all Shib code.&nbsp; If you want to look at code, those
    services are impls of:<br>
    <br>
    edu.internet2.middleware.shibboleth.common.service.ReloadableService<br>
    <br>
    see in particular the abstract super class where the common
    reloading logic resides:<br>
    <br>
    edu.internet2.middleware.shibboleth.common.config.BaseReloadableService<br>
    <br>
    What it essentially does is: there is a ResourceChangeWatcher and
    ResourceChangeListener pair that actually watches the config
    resource (the former is what takes as arguments those polling config
    values), and when a change is detected, the listener invokes the
    edu.internet2.middleware.shibboleth.common.config.BaseService
    loadContext().&nbsp; That uses Spring framework components to attempt to
    load a new ApplicationContext based on the config resource(s), and
    if that is successful the new ApplicationContext is swapped in for
    the old one.&nbsp; There is some service-specific context data logic in
    the specific service impl classes in their onNewContextCreated(...)
    methods.<br>
    <br>
    Hope that helps,<br>
    Brent<br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
  </body>
</html>