[KULRICE-3716] Create a "Business Object Observer" framework Created: 20/Nov/09 Updated: 16/Jan/15
|Project:||Kuali Rice Development|
|Affects Version/s:||1.0.1, KFS Release 3.0|
|Remaining Estimate:||Not Specified|
|Time Spent:||Not Specified|
|Original Estimate:||Not Specified|
This is related to thoughts on performance, specifically the role type services.
Performance could be improved if the type services cached information they gather when resolving roles. (Such as org parent/child relationships or fiscal officer user IDs.) Unfortunately, since the data can change, it's not always practical.
But, if there was a standard way to notify interested objects that a business object had just been saved, they type services could purge their cache entries appropriately.
So, what about a "BusinessObjectObserver" class. It would have a two methods:
Upon service startup, the BusinessObjectService would perform a "getBeansOfType" on the spring context and register all of them in a local HashMap<Class<? extends BusinessObject>,List<BusinessObjectObserver>> which it would use in the BO service's save methods.