Scott means to configure a Quartz job on both of the CAS servers that has a
reference to the service registry and will call the reload method whenever
the job is executed.


On 7/16/09 1:28 AM, "Marteau Christophe" <[email protected]> wrote:

> Thanx for all answers.
> 
> You mean a tomcat reload ? or just the service registry reload (how can
> I do this ?)
> 
> 
> 
> For those who are interested in LDAP service registry in a cluster
> environment, here is a sample conf with 2 LDAP (replicated):
> 
> deployerConfigContext.xml
>          [...]
>          <bean id="userDetailsService"
> class="org.springframework.security.userdetails.memory.InMemoryDaoImpl">
>                 <property name="userMap">
>                                 <value>
>                                         admin1=notused,ROLE_ADMIN
>                                         admin2=notused,ROLE_ADMIN
>                                         admin3=notused,ROLE_ADMIN
>                                 </value>
>                 </property>
>         </bean>
>         [...]
>         <bean id="serviceRegistryDao"
>                 
> class="org.jasig.cas.adaptors.ldap.services.LdapServiceRegistryDao">
>                 <property name="ldapTemplate">
>                         <ref bean="ldapTemplate"/>
>                 </property>
>                 <property name="serviceBaseDN"
> value="ou=services,dc=example,dc=fr"/>
>         </bean>
> 
>         <!-- Move the values into the cas.properties file. -->
>         <bean id="contextSourceServices"
> class="org.springframework.ldap.core.support.LdapContextSource">
>                 <property name="pooled" value="true" />
>                 <property name="urls">
>                         <list>
>                  
> <value>ldap://ldaptest.example.fr:389</value>
>                  
> <value>ldap://ldaptest2.example.fr:389</value>
>                         </list>
>                 </property>
>                 <property name="userDn"
> value="uid=serviceswriter,ou=people,dc=example,dc=fr" />
>                 <property name="password" value="mypwd" />
>                 <property name="baseEnvironmentProperties">
>                         <map>
>                                 <entry
> key="com.sun.jndi.ldap.connect.timeout" value="500" />
>                                 <entry
> key="com.sun.jndi.ldap.read.timeout" value="2000" />
>                                 <entry>
>                                         <key>
>                                                 <value>
>                  
> java.naming.security.authentication
>                                                 </value>
>                                         </key>
>                                         <value>simple</value>
>                                 </entry>
>                         </map>
>                 </property>
>         </bean>
> 
>         <bean id="ldapTemplate"
> class="org.springframework.ldap.core.LdapTemplate">
>                 <constructor-arg ref="contextSourceServices" />
>         </bean>
>         [...]
> 
> 
> 
> 
> MARTEAU Christophe
> 
> CICT
> 118, route de Narbonne
> 31000 Toulouse
> 
> 
> 
> Scott Battaglia a écrit :
>> Its not a bug.  Its just poorly documented that you're supposed to
>> schedule a reload.
>> 
>> Cheers from the Dominican Republic with barely working Internet,
>> Scott
>> 
>> 
>> On Wed, Jul 15, 2009 at 3:48 PM, Andrew Feller <[email protected]
>> <mailto:[email protected]>> wrote:
>> 
>>     I have broke down and analyzed the 3.3.3 code base and there is no
>>     code that
>>     calls the reload() method.  I would have assumed that the default
>>     services
>>     manager call the reload after a service is added, updated, or deleted.
>> 
>>     I will file a JIRA issue for this as this is something that should be
>>     addressed in some form or fashion.
>> 
>>     Thanks for the insight M,
>>     A
>> 
>> 
>>     On 7/15/09 2:14 PM, "Marvin Addison" <[email protected]
>>     <mailto:[email protected]>> wrote:
>> 
>>>> I dont know how it is managed with JPA, but with ldap
>>     serviceregistry,
>>>> the ldap is not read until tomcat restart to get service list.
>>> 
>>> Wow, that is surprising.  My code review shows it's a fundamental
>>> design of DefaultServicesManagerImpl, so it would affect all service
>>> registry implementations that use it.  We've been using
>>> JpaServiceRegistryDaoImpl on an active-active load balanced
>>     cluster in
>>> our test environment for a while now, and have never noticed a
>>> problem, but it is restarted frequently which could explain why we
>>> never noticed this limitation.
>>> 
>>> The good news is the point that Andrew noted, that
>>> DefaultServicesManagerImpl implements ReloadableServicesManager, so
>>> you could set up a Quartz job in one the Spring contexts to call the
>>> reload() method regularly to sync the other nodes with the one that
>>> changed.
>>> 
>>> M
>> 
>>     --
>>     Andrew Feller, Business System Programmer
>>     LSU University Information Services
>>     200 Frey Computing Services Center
>>     Baton Rouge, LA 70803
>>     Office: 225.578.3737
>>     Fax: 225.578.6400
>> 
>> 
>> 
>>     --
>>     You are currently subscribed to [email protected]
>>     <mailto:[email protected]> as: [email protected]
>>     <mailto:[email protected]>
>>     To unsubscribe, change settings or access archives, see
>>     http://www.ja-sig.org/wiki/display/JSG/cas-user
>> 
>> 
>> -- 
>> You are currently subscribed to [email protected] as:
>> [email protected]
>> To unsubscribe, change settings or access archives, see
>> http://www.ja-sig.org/wiki/display/JSG/cas-user

-- 
Andrew Feller, Business System Programmer
LSU University Information Services
200 Frey Computing Services Center
Baton Rouge, LA 70803
Office: 225.578.3737
Fax: 225.578.6400



-- 
You are currently subscribed to [email protected] as: 
[email protected]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-user

Reply via email to