Hi there,
The issue IOC-ISSUE-153 was just created by George Mauer (togakangaroo).
Key: IOC-ISSUE-153
Summary: Logger facility can cause activation error when using abstract
factory methods
Type: Bug
Importance: Medium
Description:
Posted on the mailing list too:
http://groups.google.com/group/castle-project-devel/browse_thread/thread/19cf784fb8f61c4f
It seems that the logger facility analyzes components at registration and
decides when and how to inject loggers at this point.
The problem occurs if you are using a factory method without an ImplementedBy
clause (for example an abstract factory). In this case the logging facility
does not inject the logger because the specific type is not known at
registration time. What probably should be occurring is that in this case the
decision to inject a logger should be happening when the component is created.
Another problem is that registration CAN use an ImplementedBy clause with a
factory method in which case the logger is injected fine. However just because
an ImplementedBy clause is used doesn't mean that this is necessarily the type
the factory returns. As a matter of fact as pointed out in this thread here:
http://groups.google.com/group/castle-project-devel/browse_thread/thr...
an ImplementedBy clause when a factory method is used doesn't really
do anything at all. So what happens if an ImplementedBy clause specifies a
logging type but the actual component returned from the factory method doesn't
have an ILogger property? ActivationError.
For more, see
http://support.castleproject.org/projects/IOC/issues/view/IOC-ISSUE-153
--
donjon
by Castle Stronghold
http://www.castle-donjon.com
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Castle Project Development List" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/castle-project-devel?hl=en
-~----------~----~----~----~------~----~------~--~---