Daniel Fagerstrom wrote:
> Here I also would like to advertise a neat pattern (the whiteboard
> pattern) that we use in the OSGi-blocks architecture, that we maybe
> could use without OSGi in 2.2.
>
> So, in the block architecture we set up a BlockServlet (or other
> controllers) as a managed component by using the declarative services,
> this could be done in Spring instead. Anyway, the configuration contains
> a default mount path that can be overridden by the configuration
> service. Then the component that corresponds to the MountTableProcessor
> can ask the service manager for all services that implements Servlet and
> that also has a mount path property. And it can mount these servlets
> without any global configurations at all. It also allows for dynamic
> installation/uninstallation/update of the servlets, but that is another
> story ;)
>
> Maybe we could use the same pattern with Spring managed processors. Is
> there any way to ask the container for all beans that implements a
> certain interface? It would make it possible to just deploy a block
> without needing to update any mount tables.
>
Yes, that's possible. You can add bean factory post processors (which
are spring beans as well) which gets notified by all beans, or you can
access all beans that implement a certain interface by asking the bean
factory for it.
Using the whiteboard pattern here sounds really good. I hope to come up
with an implementation in the next days.
Carsten
--
Carsten Ziegeler - Open Source Group, S&N AG
http://www.s-und-n.de
http://www.osoco.org/weblogs/rael/
|