Hi, Niklas.

1. If you look for Avalon Components Framework - list of interfaces
for IoP implementation, you see that configuration of component
provides with Configurable interface:

public interface Configurable {
configure(Configuration config);
}

so if component is configurable, it configures by itself, but
configuration injected in component by configure() method. I think, we
can trust avalon-framework workgroup in questions of using IoP
pattern.

2. My opinion, that every component should have the most possible
count of getter/setter methods to allow configuration by JMX, for
example. But it's is way to change configuration in runtime, but not
in init stage.

3. External developer need to create UserManager and change
configuration. If FTPServer is not embedded, he doesn't need to create
somethink else.

If he need, it's a bug in design or implementation.

4. "A developer should be able to inject a DataSource retrived from
JNDI or a Pico/Spring configuration without additional wrapping."

Just write DBUserManager which support injecting of DataSource and use
it. In my application many resources is injected in UserManager and
FileSystemManager by @Resource annotation. I don't have problems with
it. (But I need to write my own FtpConfigImpl, since I embed FTPServer
in my application)

--
Sergey Vladimirov

Reply via email to