|
From: <jue...@we...> - 2004-02-14 17:24:59
|
Colin, Rod, everyone, =20 I revised the BeanFactoryLocator and EJB support classes yesterday, = mainly to align the naming of the implementation classes with Spring's = general naming patterns. For example, the ApplicationContext-specific = classes are now called "ContextJndiBeanFactoryLocator" and = "ContextSingletonBeanFactoryLocator". I've also factored out the = BeanFactoryReference implementations for newly created BeanFactories = into separate classes, making them invoke = "ConfigurableBeanFactory.destroySingletons" respectively = "ConfigurableApplicationContext.close" on release. =20 I've adapted the EJB support classes accordingly and, on the occasion, = moved the logger instance variable from AbstractEnterpriseBean to = AbstractStatelessSessionBean and AbstractMessageDriverBean. Someone = complained on the mailing list a while ago that removing and setting the = logger instance for SFSBs is a nuisance, and I agree - the subclass = should hold its own *static* logger instance there. Of course, this = doesn't apply to SLSBs and MDBs, thus the change. =20 I've also noted that AbstractEnterpriseBean's "ejbRemove" implementation = did *not* invoke BeanFactoryLocator.release; is there any rationale for = this? For the time being, I've made it invoke release, as I consider it = important to destroy resource singletons like a local SessionFactory or = PersistenceManager on BeanFactory respectively ApplicationContext = shutdown. =20 I hope you don't mind the name changes. My goal is to keep class and = method naming as consistent as possible within the Spring codebase; = something many other open source projects to not respect at all. =20 Juergen =20 |