I would like to propose that we drop stop using the strutum lifecyle interfaces altogether in favor of Avalon's interfaces. Right now Turbine only using the component loader (Stratum based) for loading Torque and Fulcrum. To replace this, we should use ECM for loading of Torque and Fulcrum.
Torque would need to implement Avalon's lifecycle interfaces instead of Stratum's. A separate message was just posted to the torque-dev about this. Turbine's core services could also be loaded as components. This would virtually do away with the current service loading scheme. All of the current logic in TurbineServices (and all related service management code) would be handled by ECM (Avalon's component manager). Fulcrum currently has it's own ECM that is used load load it's services. This can still remain in place. When a service is loaded from within Turbine, the request would go to Turbine's instance of the ECM. If there is no component loaded with Turbine's ECM that matched the role, the request would be passed to Fulcrum's ECM. I think that this can be done without affecting the way that services are used within Turbine. We can still keep the abstract classes with static methods that we have in place right now. They will simply pass the request to obtain a reference to the service to Turbine's ECM. Since all of our current services are thread safe, there is no need to pass the component back to the ECM after each use. The next issue is that of logging. Although ECM 4.1 will not make use of log4j, the latest development version does appear to do so. I have played around with this a little but I don't have that working yet. -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
