That helps a lot. Thank you Brent.<br><br><div class="gmail_quote">On Wed, Dec 12, 2012 at 5:16 PM, Brent Putman <span dir="ltr"><<a href="mailto:putmanb@georgetown.edu" target="_blank">putmanb@georgetown.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"><div class="im">
<br>
<div>On 12/12/12 4:12 PM, Nanda Kumar wrote:<br>
</div>
<blockquote type="cite">Hello,
<div> Attribute filter, resolver, profile handler and relying
party services can be reloaded by specifying two attributes<b> </b><span style="line-height:17.33333396911621px;color:rgb(51,51,51);font-size:13px;font-family:Arial,Helvetica,FreeSans,sans-serif;margin-top:0px">configurationResourcePollingFrequency</span><span style="line-height:17.33333396911621px;color:rgb(51,51,51);font-size:13px;font-family:Arial,Helvetica,FreeSans,sans-serif">
and </span><span style="line-height:17.33333396911621px;color:rgb(51,51,51);font-size:13px;margin-bottom:0px;font-family:Arial,Helvetica,FreeSans,sans-serif;margin-top:0px">configurationResourcePollingRetryAttempts
to the service element. Is this reloading process done by
Shibboleth code OR is it done by the spring framework?</span></div>
</blockquote>
<br></div>
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. 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(). 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. 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>
</div>
<br>--<br>
To unsubscribe from this list send an email to <a href="mailto:users-unsubscribe@shibboleth.net">users-unsubscribe@shibboleth.net</a><br></blockquote></div><br>