I understand that constructor injection and final instance variables are the preferred way to do dependency injection with Tapestry IoC. This is clearly safest in terms of proper, thread-safe construction and immutability.
Am I correct in assuming that good ol' build* methods on modules are still supported, allowing setter injection to be done as well? In such a case, what measures does Tapestry IoC take to ensure that while a service is being created lazily on thread A, thread B does not get a partially constructed object (a la double checked locking)? After reading Brian Goetz's book, I am starting to wonder if that is even possible without final instance variables or full synchronization on the registry. Ben --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]