On Thu, Jun 28, 2012 at 5:29 AM, Lance Java <lance.j...@googlemail.com>wrote:
> Tapestry IOC configuration happens once, when the app is started. It > determines the symbols, constructs services and wires them all together. > After that, Tapestry IOC's job is done and all of the services are acting > upon the config they were provided during construction after that. > > If you want to change values at runtime, it will be via custom events on > your services. Changing symbols will have no effect as each service has > done > it's own custom thing with the symbol (for example connecting to a database > or writing a file etc). > > I think you need to think about exactly what is changing. Perhaps selected > services can listen for changes to some configuration object and act > appropriately? > > Tapestry has tended to make design decisions that enforced stability, predictability, and performance over runtime flexibility. Although I can see the desire to change configuration on-the-fly, this complicates the implementation of services, as they go from having a simple singleton lifecycle to something more complicated and aware of state changes to configuration. For Tapestry internals, especially, I prefer my services to have no mutable internal state (wherever possible); that is, all fields final, storing immutable values. This isn't always practical; some services have mutable caches of useful data and there's an overhead cost to maintaining that (and, in development mode, clearing it when the external world changes). That being said, I've long wanted to have a Dashboard page that could present information about different parts of the running application, and perhaps allow it to be modified or otherwise interacted. This would roll up PageCatalog and ServiceStatus, and be extensible. I've also wanted to have a lightweight way of having services describe their internal state in a semi-structured fashion. > -- > View this message in context: > http://tapestry.1045711.n5.nabble.com/Tapestry-app-live-console-tp5714144p5714152.html > Sent from the Tapestry - User mailing list archive at Nabble.com. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > -- Howard M. Lewis Ship Creator of Apache Tapestry The source for Tapestry training, mentoring and support. Contact me to learn how I can get you up and productive in Tapestry fast! (971) 678-5210 http://howardlewisship.com