Thats a good approach too, I might look into creating a utility bean to 
do that injection that also inject a null when the context is shutting 
down. Making sure the solution works nicely with spring context and 
servlet context reloads which cause problems right now. I'm thinking the 
injecting a null would work with this model to fit the reloads requirement.

-Eric

Drew Wills wrote:
> Eric Dalquist wrote:
>> ...
>>
>> The problem is in some places that the PortalApplicationContextFacade 
>> is used to access the BeanFactory there is no access to a 
>> ServletContext which the WebApplicationContextUtils needs to access 
>> the replacement WebApplicationContext.
>> The affected areas are:
>> CError - constructor, loads a IThrowableToElement implementation 
>> which defines ways to render certain exceptions
>> PersonDirectory - getPersonAttributeDao, loads the root 
>> IPersonAttributeDao for use by other parts of the framework. This 
>> method is called from: Authentication, PersonAttributeGroupStore, 
>> CPersonAttributes, and PersonDirNameFinder
>>
>> I'm not sure what the best solution for this is. I'd like to avoid as 
>> much custom Spring related code as possible but we may still need a 
>> static accessor that doesn't require the ServletContext to access the 
>> WebApplicationContext object.
>
> Eric,
>
> What about an approach like this (example from PersonDirectory)...
>
> *****
>
> ++ Java:
>
> public class PersonDirectory {
>
>   private static IPersonAttributeDao impl;
>
>   public static Object setPersonAttributeDao(IPersonAttributeDao dao) {
>     impl = dao;
>     return PersonDirectory.class;  // shouldn't matter what's returned
>   }
>
>   ...
>
> }
>
> ++ BeansML:
>
> <bean id="personDirectoryService" factory-method="setPersonAttributeDao">
>   <constructor-arg>
>     <ref bean="personAttributeDao"/>
>   <constructor-arg>
> </bean>
>
> *****
>
> This should cause the bean container to inject the normal 
> 'personAttributeDao' into the staticly-accessed PersonDirectory 
> service to support legacy code.
>
> drew wills
>

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to