<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> Attribute filter, resolver, profile handler and relying
party services can be reloaded by specifying two attributes<b> </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)">
and </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. 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. 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>
</body>
</html>